채택완료

input 입력 부분 xss 방어에 대해...

2020-10-27 (화) 23:56:53 2,191

안녕하세요

http://ubestone.com/customer/faq.php?code=sub_flash4&category=75&searchopt=subject&searchkey=\%22%22%3E%20%3Ca%20onmouseover=alert(document.cookie)%3Exss%20link%3C/a%3E%3C&x=0&y=0

이걸 실행하면..

2053363090_1603810148.8941.png

이렇게 alert 창이 뜨면서 보안에 취약하게 되는데요.

이걸 입력단에서 - 즉 검색 버튼 누를때 자바스크립트 단에서 xss를 막으려면 어떻게 해야하나요?

이런 보안쪽은 잘 모르는지라. ㅠ. 감감하네요

실제 디비에 입력을 할때는 xss_check라는 php 함수로, 막고있는데

유저들이 입력을 할때 javascript로는 어떻게 막는지 전혀 감을 못잡고 있습니다. ;;

이를테면

input 에서 onfocus 이벤트때

xss 필터? 이런걸 하라하는데.. 당최 어렵네요. ;;

부끄럽지만.. 도움 부탁드립니다. ㅠ

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

php 함수인 strip_tags와 htmlspecialchars 를 쓰거나 정규식을 써서 필터링 하면 됩니다.

Copy
<input type="text" name="searchkey" value="<?php echo htmlspecialchars(strip_tags($searchkey)); ?>" >

정규식까지 쓸려면 이렇게 합니다.

Copy
<input type="text" name="searchkey" value="<?php echo htmlspecialchars(strip_tags(preg_replace("/[#\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $searchkey))); ?>" >

답변에 대한 댓글 1개

2020-10-28 (수) 13:55:04
감사합니다.. ㅠ
다른 방법으로... 단순무식하게 넣어보긴 햇는데.. 맞는지 모르겟네요

변경해보겠습니다!!!

답변을 작성하려면 로그인이 필요합니다.