我总是听说使用全局变量很危险。这适用于Drupal吗?看一下下面的例子:
function myFunction($bla) {
global $user;
if (isAuthenticated($user->uid)) {
print $secretCode;
}
}
这可以被黑客攻击吗?
答案 0 :(得分:4)
由于多种原因,全局变量可能存在危险,其中一些原因包括:
对您的用例没有什么特别的威胁。应该没问题。如果您非常害怕,可以在评估之前确保$ user-> uid是一个整数:
function myFunction($bla) {
global $user;
if( is_int($user->uid) ){
if (isAuthenticated($user->uid)) {
print $secretCode;
}
}
}
但这可能是不必要的。
答案 1 :(得分:0)
没有。如果您使用的是session_register,则可以进行SQL注入。因为这是一种古老的方法,在PHP 4中。虽然,很多人仍然使用它。