я разговаривал с одним из моих программистов раньше, и он показал мне кусок кода, он рассматривает:
foreach($_REQUEST as $var=>$val) {
$$var = addslashes($val);
}
Он хотел, чтобы иметь возможность использовать $varName
вместо того, чтобы написать $_REQUEST['varName']
Я посоветовал ему использовать mysql_real_escape_string
вместо addSlashes
и не ставить $_REQUEST
переменные на локальный стек, потому что дает хакерам присоединять вектор. Для меня это похоже на ту же проблему, что и в старой директиве REGISTER_GLOBALS
.
Он сказал, что не было одинаковых угроз безопасности, поскольку все эти переменные были созданы в локальном стеке. Поэтому я был не уверен, и я проверил страницу переменных переменных PHP по адресу: http://www.php.net/manual/en/language.variables.variable.php, но не увидел ссылки на Super Globals и другой безопасности, кроме предупреждения.
Могут ли хакеры легко воспользоваться этой конструкцией?
Похоже, что пришло время найти нового программиста! – mellowsoon
Это очень плохо с точки зрения безопасности и дизайна. – rook