Статус Error с 99% точностью говорит о том, что в данном месте есть XSS или SQL Injection уязвимость.
Строка кода с таким статусом может выглядеть например так:
echo $_GET['name'];
В такой ситуации при передаче в адресной строке параметра name таким образом &name=<strong> вы выделите болдом весь текст следующий за echo на сайте. Примеры могут быть и страшнее, вот один из них:
mysql_query("SELECT * FROM users WHERE user_id = ".$_GET['id']);
И если параметр в адресной строке будет выглядеть так &id=(DROP TABLE users) то такой запрос удалит таблицу users с вашего сайта. Такая атака называется SQL Injection.
Защитой в таких ситуациях является проверка получаемых от пользователя данных. В первом случае можно применить такие функции:
echo htmlentities(addslashes($_GET['name']));
А во втором случае целесообразно будет сделать так:
mysql_query("SELECT * FROM users WHERE user_id = ".intval($_GET['id']));
Сделав такие действия вы защитите свой сайт от такой уязвимости.
Статья
Error статус
- Написал: nissanДата: 2011-05-27 16:26:21И добавление .intval() и htmlentities(addslashes() Вправду помагают??? только я не допонимаю, а как запрос делать??? где его прописать??(0)