2010-03-25 5 views
0

이름이나 주소의 유효성을 검사해야합니까? 내가 다음과 같은 형식으로 코딩했을 때. 그렇다면 왜?PHP 폼 유효성 검사 질문이 있으십니까?

$address = mysqli_real_escape_string($mysqli, htmlentities($_POST['address'])); 
$name = mysqli_real_escape_string($mysqli, htmlentities($_POST['name'])); 
+0

validate! = escape –

답변

1
  1. 는 값을 저장하여 데이터베이스에 htmlspecialchars/htmlentities/등으로 필터링하지 마십시오 - HTML/XML/기타 문서에 표시하기 전에 직접 해.
  2. blah blah <>DAS#^^[email protected]@vm/.,czc과 같은 이름으로 정상이면이 코드는 정상적으로 보입니다.
1

'$'또는 '%'를 (를) 포함하는 이름이나 주소는 몇 통입니까? 사용자가 어리석은 지 확인하기 위해 수행 할 수있는 간단한 검사가 있습니다. 일반적으로 이름에는 단어 문자 (Jr, Sr 등의 경우 쉼표와 마침표가 포함될 수 있음)가 포함되며 주소에는 영숫자 문자 만 포함됩니다 (약어가없는 경우 마침표가 포함될 수 있음). 꼭 필요한 것은 아니지만 개인적으로 수표를 넣으므로 무작위로 BS에 들어가기 만하면 우스운 일이 생기지 않습니다 (미안합니다. 미안합니다).

0

당신은 당신이 데이터를 필터링 없음을 탈출 2 개 수단을 가지고 있기 때문에 규칙이 FIEO가 입력 탈출 출력을 필터

필터링 때 비트가 혼합 것 : 당신이 결정하는 경우

하는 "이름"

위의 자신의 정의 예제와 일치하지 않는 내용은 모두 제거하십시오 (정규 표현식 사용 가능). 대소 문자 만 가능하고 길이는 2 ~ 50 자 사이이며 대시와 작은 따옴표 (')를 포함 할 수 있습니다. OR 작업을 중단합니다

하기이 시나리오에서 매우 유용합니다) 사용자/잠재적 인 크래커에

filter_var (수하는 방법을 종류에 따라.

당신은 데이터가 향하고있는 다음 환경에 대한 준비의 데이터를 탈출

탈출;

만약 데이터베이스에 들어가려면, 당신은 당신의 mysqli_real_escape_string()을 사용하고, htmlentities() 등등을 사용하면된다.

HTH