
30.04.2011, 09:23
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 0
С нами:
8417113
Репутация:
0
|
|
Сообщение от nc.STRIEM
а не прощи ли сделать
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"\'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
Никогда не подумаю что в МОА такие люди. Этот код не защищаеть от SQL-inj.
Представим что в эту функцию:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"\'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
Мы передадим строку:
Тогда что получиться? Кавычка экранируется и получается вот это:
Тут мы видим что кавычка не за экранирована, поскольку \ стоящая перед ней экранирует \ стоящую после кавычки. Разумееться тут возникнут небольшие сложности, но SQL-inj остаёться возможно провести.
И всё же посоветую конвертировать в htmlspecialchars до помещения в БД.
|
|
|