템플릿에 내용을 포함시키는 PHP가 포함 된 웹 사이트가 있습니다. 로드 할 페이지는 get 매개 변수에 지정되며 매개 변수의 끝에 ".php"를 추가하고 해당 페이지를 포함합니다. XSS 나 다른 것들 (데이터베이스가 없으므로 MySQL 삽입이 아닌)을 피하기 위해 보안 검사를해야합니다. 내가 생각해내는 것은 다음과 같다.
$page = $_GET['page'];
if(!strpos(strtolower($page), 'http') || !strpos($page, '/') ||
!strpos($page, '\\') || !strpos($page, '..')) {
//append ".php" to $page and include the page
내 입력을 추가적으로 위생 처리 할 수있는 다른 방법이 있습니까?
에 대한 내 대답은 참조 - 경기가 false –
@ 톰로 평가됩니다 문자열의 시작 부분에있을 경우는 0을 반환 것이라고 acceppted 솔루션은 할 수 있습니다 어쨌든 고마워, 나는 미래 코드에 대한 조언을 기억할 것이다. –
참고 : http://stackoverflow.com/a/15825812/59087 –