Отменен начиная с версии 0.3.0
Статус Notice может говорить о коварной уязвимости, хотя случается это редко. По сути речь идет о передаваемых в функцию параметрах. Конечно не все функции производят отображение контента и не все функции производят запись в базу данных, что уменьшает риск XSS или SQL Injection. Но в тех случаях когда функции делают именно это, хакер может найти лазейку. Вот пример таких функций:
function showname($name) {
if($name == '') {
echo "Guest";
} else {
echo $name;
}
}
showname($_GET['nick']);
Как видно из примера echo $name; выведет то, что будет передано в адресной строке в параметре nick. Для защиты вы можете экранировать данные например так:
showname(htmlentities(addslashes($_GET['nick'])));
И похожий пример для SQL Injection:
function showname($name) {
if($name == '') {
return;
} else {
mysql_query("SELECT * FROM users WHERE nick = '".$name."'";
}
}
showname($_GET['nick']);
Сложнее примера для дыры в базе данных сложно придумать. И спасет от этого всего одна функция:
showname(mysql_real_escape_string($_GET['nick']));
Статья