저는 a script과 스택의 도움과 친구의 도움을 받아 PHP를 거의 모르는 사람들이 사진을 업로드 할 수있는 지역 비영리 출판물의 간단한 페이지를 만들었습니다.PHP 이미지 업로드 스크립트를 악용으로부터 보호하려면 어떻게해야합니까?
나는 (무지가 아니라 고의적 인 과실의 기준에서) 보안에 큰 아니에요하지만 난이 페이지 보호하기 위해 다음과 같은 조치를 취했습니다에만 .JPG를 동의로 설정되어있는 PHP 스크립트 •
을 , .png 및 .tif 파일 업로드;
• 양식 내용을 저장하는 하위 폴더에는 권한이 700으로 설정되고 하위 폴더에는 업로드 된 사진이 저장되는 권한이 700으로 설정됩니다. 내가 관련의 htaccess로 파일을 넣어 (주를하고 내용을 저장) 한 •
<FilesMatch \.php$>
SetHandler php52-fcgi
</FilesMatch>
:
은 • 설명서에 따라, 나의 호스트는 .PHP 파일 .php로 실행되도록하여 다음과 같은 구성을 가지고 폴더 :
RemoveHandler .php
RemoveHandler .inc
RemoveHandler .pl
RemoveHandler .cgi
RemoveHandler .py
RemoveHandler .fcgi
는 하룻밤, 그러나 누군가는이 테스트 페이지를 발견하고 완벽하게 양성 테스트 메시지 작은 .JPG 것 같다 무엇을 제출했다. 이것은 비공식 URL이 포함 된 개인 테스트 페이지로, 나와 약 세 명의 사람들 만 알 수 있습니다. 다른 누구도이 시험을 보냈습니다.
이것은 분명히 어떤 일이 일어나는 것이 걱정되며, 나는이 페이지가 안전한지 보안에 대해 충분히 알지 못한다고 걱정합니다.
실종 신고 된 것이 있습니까?
사용자가 지정한 파일 이름 ('$ _FILES [ 'upload'] [ 'name']')은 신뢰할 수 없으며 쉽게 변경할 수 있습니다. 이 확장 프로그램을 확인하지 마십시오. 'getimagesize()'가 유효한 결과를 반환하는지 확인하려면 mime 형식을 확인하십시오. 가능한 경우 자신의 파일 이름을 생성하십시오. – MarcDefiant