나는 이와 같은 페이지가 있습니다. 사용자가 양식에 URL을 작성하여 제출하십시오. URL이 제출되면 해당 페이지를 CURL과 연결하여 문자열을 검색합니다. 문자열을 찾으면 URL을 데이터베이스에 추가합니다. 그렇지 않으면 사용자에게 오류가 발생합니다.PHP : CURL을 사용할 때의 보안?
나는 URL을 htmlspecialchars()로 sanitize하고 A-Z, 1-9를 허용하는 정규식도 제공합니다. 기호. 또한 htmlspecialchars()를 사용하여 다른 웹 사이트에서 검색 한 내용도 살균합니다.
제 질문은 다음과 같은 URL을 입력 할 수 있습니까? www.evilwebsite.com/shell.exe 또는 shell.txt
PHP가 실행하거나 간단히 HTML 출력을 찾으시겠습니까? 그것이 안전한지 그렇지 않은지, 내가 어떻게해야합니까?
감사합니다.
ps. allow_url_fopen이 비활성화되었습니다. 그것이 내가 컬을 사용하는 이유입니다.
사실, 검색된 콘텐츠로 수행하는 유일한 작업은 기본 정규식 스캔을 수행하는 것입니다. 예를 들어, 검색된 내용에 "Hello"텍스트가있는 경우 데이터베이스에 URL을 삽입합니다. 그렇지 않으면 "Hello page is not this page."와 같은 사용자 오류가 발생합니다. "Hello"텍스트를 검색하는 동안 취해야 할 조치가 있습니까? – Aristona
@ AnılÜnal : 아니요, 완벽하게 안전합니다. 하지만 불필요한 위생 상태를 제거해야합니다. 특정 URL이 손상되어 서비스 거부가 발생할 수 있습니다. –
htmlspecialchars()는 평가 눈에서 당신을 구해주지 않습니다 :-) 나는 그의 관점이 XSS를 막는 것이라고 생각합니다. –