2013-01-16 4 views
1

사용자가 파일을 내 서버에 업로드 할 수있는 양식을 만들고 있습니다. 업로드 스크립트는 PHP로되어있어 안전하지만 내 양식 작업이 얼마나 안전한 지 확신 할 수 없습니다. 순간

내가 제출에서 다음을 수행하십시오

<form id="apply" method="post" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, "utf-8"); ?>"> 

내가 XSS하고 $ _SERVER 배열 방법을 확보하기 위해 반드시 htmlspecialchars를 사용하는 방법에 대해 읽었습니다.

충분합니까? 내가 다른 일을해야 할까?

+1

를 사용하는 경우에도 직접 $ _SERVER [ 'REQUEST_URI'] 값을 사용하는 것이 안전하지 않은 것. – datasage

+0

REQUEST_URI는 요청 된 스크립트 AND 쿼리 매개 변수를 포함합니다. POST 요청을한다면'action'에 질의 매개 변수를 포함 할 필요가 없습니다. '$ _SERVER [ 'SCRIPT_NAME']'이면 충분합니다. –

답변

4

그냥 action=""을 사용하면 현재 페이지에 게시됩니다.

+0

이제 정말 바보 같은 느낌 ... 가장 쉬운 솔루션을 제공해 주셔서 감사합니다! 왜 내가 이런 생각을하지 않았는지 모르겠습니다. – Brigante

1

그냥 액션 비워 둘, 동일한 URL에 다시 게시 할 경우 반드시 htmlspecialchars

+0

안녕하세요, htmlspecialchars ($ _SERVER [ 'REQUEST_URI']) 이외의 제품을 사용하시는 것이 좋습니다. –