2010-05-29 5 views
-1

변수, 변수, 변수 및 변수를 변환하는 데 사용되는 변수 집합입니다. 좋은추출 된 PHP 슈퍼 전역을 사용할 때 어떤 위험이 있습니까?


, 나는 다음과 같은 방법으로 작동 $ _POS와 $ _GET 등의 자동 전역 변수에 함수 추출물을 사용하여 몇 가지 위험이있다.

SQL 인젝션의 위험이 있습니다 또는

if(get_magic_quotes_gpc()) { 
    $_GET = stripslashes($_GET); 
    $_POST =stripslashes($_POST); 
} 

function vars_globals($value = '') { 
    if(is_array($value)) 
     $r = &$value; 
    else 
     parse_str($value, $r); 

    return $r; 
} 

$r = vars_globals($_GET); 

extract($r, EXTR_SKIP); 
+0

, 그것은 크게 감상 할 수있다 :) –

+4

Не могу понять что тут написано –

+0

좋은, $ _POS와 $ _GET 등의 자동 전역 변수에 함수 추출물을 사용하여 몇 가지 위험이있다, 나는의 작업 다음과 같은 방법으로. SQL INJECTION의 위험이 있거나 추출 할 수있는 대안이 있습니다. 죄송합니다 번역 google! – zetanova

답변

0

예 위험이 추출 할 수있는 대안이있다. 사용자 입력을 맹목적으로 기호 테이블로 가져오고 싶지는 않습니다. 사용자 입력의 유효성을 확인하거나 사용자 입력을 위장해야합니다. filter_var 기능이 도움이 될 수 있습니다.

데이터베이스에 삽입 할 때 드라이버의 이스케이프 메커니즘을 사용하여 주입 가능성을 제거하십시오. mysql_ * 함수를 사용한다면, mysql_real_escape_string을 사용하면된다. 그러나 PDO와 매개 변수화 된 쿼리를 사용하는 것이 훨씬 좋습니다. 누군가 자원 봉사가 번역하는 경우

관련 문제