-=Zhenek=- насчет intval - ложь и провокация или пруфлинк с примером кода, когда intval вернет True - то есть булево значение. intval возвращает целочисленное значение, причем если строка с произвольными данными - то возвращается число идущее в начале строки. Например PHP: $a = '1234asdasdasdasd'; var_dump(intval($a)); // вернет int(1234) $b = 'asdsa1234asdasds'; var_dump(intval($b)); // вернет int(0) ByGreez тему стоило закрыть если не после первого поста, то после 1-2 страницы. Но всегда найдутся люди, которые не поверят, что простое решение - самое эффективное, и постараются показать монструозную функцию, которая "спасет от всех проблем". Таких людей надо вовремя отлавливать и наставять на путь истинный, пока болезнь не распространилась
я когда еще не знал про intval делал так: $_GET[id] += 0; При арифметических операциях php, как известно, отбрасывает "нецифры"
SHiNiGaMi и радовали хеккеров раскрытием путей. При передаче массива (http://localhost/?id[]=bang) получите: Code: Fatal error: Unsupported operand types in [путь]/index.php on line 5
Никогда не подумаю что в МОА такие люди. Этот код не защищаеть от SQL-inj. Представим что в эту функцию: PHP: $str=str_replace("'","\'",$str); Мы передадим строку: Code: \' Тогда что получиться? Кавычка экранируется и получается вот это: Code: \\' Тут мы видим что кавычка не за экранирована, поскольку \ стоящая перед ней экранирует \ стоящую после кавычки. Разумееться тут возникнут небольшие сложности, но SQL-inj остаёться возможно провести. И всё же посоветую конвертировать в htmlspecialchars до помещения в БД.
htmlspecialchars использовать нужно для защиты от XSS, а не от sql injection. И не до записи в базу (от чего объем увеличивается), а перед выводом пользователю. Читай еще раз первый пост: mysql_real_escape_string()
Ну это я имел ввиду немного для другого случая - просто админам иногда полезно разрешать HTML код, Перегонять ББ-коды в HTML при каждой загрузке странице тоже будет вести большую нагрузку на сервери т. . Темы в разделе программирования закрываются редко, т.к. любую программу можно сделать более быстрой, код более коротким. Поднятие старых тем под флагом оптимизации их кода лишь приветствуется. А функцию htmlspecialchars я имелл виду использовать не для защиты от sql-inj.
XAMEHA со дня поста, который вы сейчас прокомментировали - прошло 3 года. Причем автору поста уже ответили что он не прав. Внимание вопрос - зачем вы это написали? Насчет htmlspecialchars первый пост: