POST 또는 GET 여부에 관계없이 변수를 가져올 수 있는지 그리고 filter_input()을 사용하여 변수를 살균 할 수 있는지 궁금합니다.filter_input을 사용하면서 POST 및 GET 데이터를 확인하는 방법은 무엇입니까?
처음에는 $var = filter_input(INPUT_POST | INPUT_GET, "var", FILTER_SANITIZE_STRING)
이 작동한다고 생각했지만 PHP 매뉴얼에서는 입력 유형 하나만 전달할 수 있다고 말합니다.
나는 또한 이상하게 작동하지 않았다 INPUT_REQUEST
을 시도했다. 이 함수는 그것을 인식합니다 (즉, $ input에 잘못 입력했다고 말하는 오류를 던지지 않음). 그러나 코드를 얻지는 못합니다. 그리고 예, 라이브 환경에서 INPUT_REQUEST
을 사용하지 않기로 알고 있습니다. 작동 여부를 테스트했습니다.
현재 나는 다음을 수행하십시오
이$var = filter_input(INPUT_POST, "var", FILTER_SANITIZE_STRING);
if(!$var) $var = filter_input(INPUT_GET, "var", FILTER_SANITIZE_STRING);
그러나 PHP에서 여러 가지로, 하나의 명령에 나를 위해 모든 것을 할 것입니다 종종 간단한 방법이있다. 나는 그것이 그 경우 여기에 있는지 궁금해하고 있는데, 그것들을 하나의 수표에 결합 할 수 있습니까? Google에서 간단한 검색을 수행 했으므로 이전에 시도한 사람에게도 참조 할 수 없었습니다. 해결책은 없었으므로 지금 나는 좋은 사람들을 생각해 보았습니다.
어떤 목적으로 문자열을 "살균"하고 싶습니까? –
GET 변수에 악성 코드가 입력되지 않았는지 또는 POST의 경우 사용자가 양식을 변조하지 않았을 가능성이 높습니다 (숨겨진 변수 일 가능성이 높습니다). – Styphon
http://php.net/manual/en/function.filter-input.php - 첫 번째 매개 변수는 상수 중 하나이며 배열이 아니며 || 절. 한 줄로 처리하려면 배열, foreach를 받아들이고 모든 요소를 첫 번째 매개 변수로 설정하는 사용자 함수를 만들어야합니다.그러나, 당신이 정말로 당신의 의견이 무엇인지 알지 못하기 때문에 그것은 나쁜 습관으로 보입니다. –