Salam php-də addslashes və ya addcslashes işlətməyin məqsədi nədir? Yəni fərqi nədirki sözün əvvəlində / oldu ya olmadı?Birdə sizcə php ni 1 il yarıma yaxşı səviyyədə öyrənə bilərəm ya yox?
Salam php-də addslashes və ya addcslashes işlətməyin məqsədi nədir? Yəni fərqi nədirki sözün əvvəlində / oldu ya olmadı?Birdə sizcə php ni 1 il yarıma yaxşı səviyyədə öyrənə bilərəm ya yox?
Verilmiş cavablar və yazılan şərhlər (1 cavab var)
1
Sətir tipli dəyişən PHP-də dırnaq işarəsi daxilində olur bildiyiniz kimi. Mətnin özündə də dırnağın olması bəzən problem yarada bilər. Məsələn
1
<input value='eee fdfd what's app'>
Bu kod xətalıdır, çünki sətrin içindəki dırnaq sayəsində brauzer html-i düz oxuya bilməyəcək. Ona görə də belə hallarda htmlspecialchars, htmlentities və.s. istifadə edilir.
addslashes da oxşar hallarda lazım ola bilir. məsələn mysql-də
1
insert into table values ( ".$deyisen." )
Bu zaman $deyisen qiyməti olaraq içində tək dırnaq olan bir şey olsa sayta inyeksiya baş vermiş olar və xaker bundan asanlıqla yararlanıb saytın bazasını dağıda bilər. Məsələn belə
1
insert into table values ( ''); drop database filan; )
Ona görə də məsələn
1
insert into table values ( ".addslashes($deyisen)." )
yazılsa, belə təhlükə dəf edilmiş olur, çünki dəyişənin içindəki dırnaqlar sql əmr yox, sətir kimi başa düşüləcək və təhlükəsiz olacaq.
Sual verin
Cavab verin