2010-12-03 2 views
1

PHP를 사용하여 아래 코드 스 니펫에서 $ _SERVER [ 'REQUEST_URI'], $ _POST [ 'email'] 및 $ url 코드를 어떻게 위생 처리합니까?PHP sanitization 질문

나는 5.2.14

코드 조각을 PHP 버전을 사용하고 있습니다.

<form method="post" action="<?php $_SERVER['REQUEST_URI']; ?>"> 
</form> 

$email = $_POST['email']; //Grabs the email address 

$page_url = $url; //Grabs the pages url address. 
+0

이 페이지를 참조 할 수 있습니다 : 당신은 단지'의회 처리가 예를 전적으로 속성을 생략 할 수 있습니다 – miette

+2

http://php.net/manual/en/filter.filters.sanitize.php을. –

+0

@Ignacio Vazquez-Abrams는 왜 필터링되어서는 안됩니까? – HELP

답변

2

filter_var 기능을 사용하십시오.

// url 
filter_var($url, FILTER_VALIDATE_URL) 
// email 
filter_var('[email protected]', FILTER_VALIDATE_EMAIL) 
0

매우 특별한 경우를 제외하고는 입력을 '살균'해서는 안됩니다. (아주 특별한 경우를 제외하고) 데이터의 표현을 변경하는 유일한 시간은 PHP를 떠나는 곳입니다. 그리고 메소드는 데이터가있는 곳 (예 : htmlentities(), urlencode(), mysql_real_escape_string ...). 다른 사람들이 filter_var 말했듯이