2014-04-12 5 views
1

연락처 양식을 코딩 중이며 filter_input을 사용하여 사용자 입력의 유효성을 검사하고 위생적으로 처리하려고합니다. 문제는 모든 POST 변수에 대해 사용하므로 유효성 검사를 수행해야하며 그 이유는 무엇입니까? 다음과 같이 나의 제안은 다음과 같습니다PHP filter_input 유효성 검사 및 삭제

if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { 
exit(); 
} else { 
$email = $_POST['email']; 
} 

이 확인 또는 내가 $ _POST - 살균을 다시해야한다 [ '메일']

감사

+0

달성하려는 목표는 분명하지 않습니다. 왜 당신은 살균합니까? SQL 인젝션? –

+0

아마도 어쩌면 아니오 나는 db로 메시지를 저장하거나 이메일로 보내도록 선택합니다. – medk

+0

(2 년 후) [filter_has_var()] (http://www.php.net/manual/ko/)를 사용할 수 있습니다. function.filter-has-var.php)를 사용하여 게시물이 설정되어 있는지 확인하십시오. –

답변

4

을이 시도 :

if (!$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { 
    exit(); 
} 

echo $email 
0

I을 FILTER_SANITIZE_EMAIL을 사용하기 전에 FILTER_VALIDATE_EMAIL을 사용하는 것이 좋을 것이라고 생각하십시오. 또한 전자 메일 주소를 수락하기를 원하는 전자 메일 주소를 따르도록하는 정규식을 작성하는 것이 좋습니다. FILTER_SANITIZE_EMAILFILTER_VALIDATE_EMAIL은 모두 받아 들일 수있는 문자가 매우 자유 롭습니다 (RFC는 허용 할 수있는 것보다 많은 종류의 문자를 허용하며, 사용자가 볼 수있는 곳에서는 관심을 갖지 않을 수도 있음).