2012-04-09 7 views
0

화이트리스트를 사용하면 목록에있는 모든 것을 사용하고 차단 목록에는 모든 것을 사용하지만 목록에는 무엇이 들어 있는지 알고 있습니다.PHP로 블랙리스트와 화이트리스트 이해하기

하지만 그 후에 어떻게됩니까? 허용 목록을 사용한다고 가정 해보십시오. 입력 값에 허용 목록에없는 내용이 포함되어있는 경우 입력 제출을 방지 할 수 있습니까? 내가 공백을 데이터베이스에 저장된 값을 원하는 didnt는 경우

preg_replace("/[^a-zA-Z0-9_]/", "", $stringToFilter); 

그러나 :

나는이 같은 공백이있는 문자 또는 숫자가 아닌 모든 것을 줄일 것을 알고있다. 대신 오류 메시지가 발생하도록이 작업을 수행 할 수있는 방법이 있습니까?

+2

질문이 없습니다. – Alp

+0

질문을 조금 더 설명해 주시겠습니까? –

+2

화이트리스트에서 공백으로 전환하는 놀라운 전환점 ... –

답변

3

... 예를 들어 if 문 사용하여 나는 화이트리스트를 사용하여 단지 내에서 그 목록을 다 사용하고 블랙리스트로는 목록에 무엇을하지만, 모든 것을 사용하는 것으로 알고 있습니다.

  • 화이트리스트 :
  • 블랙리스트를 승인 항목 : 하지

preg_replace이다 승인 된 항목 당신은 함께 preg_match 또는 filter_var를 사용한다

깃발 FILTER_VALIDATE_REGEXP ... 대신이 부분을 아래에 자세히 설명합니다.

하지만 공백이있는 데이터베이스에 저장된 값을 원한다면 어떻게 될까요? 대신 오류 메시지가 발생하도록이 작업을 수행 할 수있는 방법이 있습니까?

// false  
var_dump(!filter_var('string with spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[\s]+/i')))); 

// true 
var_dump(!filter_var('string_with_no_spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[\s]+/i')))); 

랩은 if 문에서 위의 작업이 완료됩니다 php.net/filter.filters.validate : 당신이보고 될 것입니다, 그래서 당신은, 검증 얘기 ... 예를 들어 if 문

를 사용하여.