2
我总是听到使用全局变量是危险的。这是否适用于Drupal?看看下面的例子:在Drupal中使用“全局”用户是否危险?
function myFunction($bla) {
global $user;
if (isAuthenticated($user->uid)) {
print $secretCode;
}
}
这可以被黑客入侵吗?
我总是听到使用全局变量是危险的。这是否适用于Drupal?看看下面的例子:在Drupal中使用“全局”用户是否危险?
function myFunction($bla) {
global $user;
if (isAuthenticated($user->uid)) {
print $secretCode;
}
}
这可以被黑客入侵吗?
全局变量可能是危险的原因有很多,其中一些包括:
没有什么特别的威胁有关你的使用情况。应该没问题。如果你很害怕,你可以确保用户$> uid是评估前的整数
function myFunction($bla) {
global $user;
if(is_int($user->uid)){
if (isAuthenticated($user->uid)) {
print $secretCode;
}
}
}
但是这可能是不必要的。
号如果您使用了session_register,这是可能的SQL注入。由于这是一个古老的方法,所以在PHP 4中。尽管如此,许多人仍然在使用它。
你也许知道,如果它在我的具体的例子是危险的?我知道$ user是一个内置变量。即我没有定义它,Drupal的确如此。 – coderama 2009-09-06 19:40:58
编辑我的答案了一下。 – 2009-09-06 20:02:19
还有一个问题。 “黑客”可以通过自己的用户吗?我的意思是,如果他能通过一个1的UID,那就意味着他是管理员。 – coderama 2009-09-06 20:29:02