나는 전역 변수를 사용하는 것이 항상 위험하다고 들었습니다. 이것은 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;
}
}
해킹 할 수 있습니까?
전역 변수 등 일부 많은 이유, 위험 할 수 있습니다
특히 유스 케이스에 대해 어떤 위협도 없습니다. 괜찮을거야. 매우 겁 먹은 경우 다음과 같이 평가하기 전에 $ user-> 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
내 대답이 약간 편집되었습니다. –
질문이 하나 더 있습니다. "해커"가 자신의 uid에 전달할 수있는 방법이 있습니까? 그가 1의 uid를 전달할 수 있다면, 그는 그가 관리자라는 것을 의미합니다. – coderama