input 입력 부분 xss 방어에 대해...
본문
안녕하세요
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
이걸 실행하면..
이렇게 alert 창이 뜨면서 보안에 취약하게 되는데요.
이걸 입력단에서 - 즉 검색 버튼 누를때 자바스크립트 단에서 xss를 막으려면 어떻게 해야하나요?
이런 보안쪽은 잘 모르는지라. ㅠ. 감감하네요
실제 디비에 입력을 할때는 xss_check라는 php 함수로, 막고있는데
유저들이 입력을 할때 javascript로는 어떻게 막는지 전혀 감을 못잡고 있습니다. ;;
이를테면
input 에서 onfocus 이벤트때
xss 필터? 이런걸 하라하는데.. 당최 어렵네요. ;;
부끄럽지만.. 도움 부탁드립니다. ㅠ
답변 1
php 함수인 strip_tags와 htmlspecialchars 를 쓰거나 정규식을 써서 필터링 하면 됩니다.
<input type="text" name="searchkey" value="<?php echo htmlspecialchars(strip_tags($searchkey)); ?>" >
정규식까지 쓸려면 이렇게 합니다.
<input type="text" name="searchkey" value="<?php echo htmlspecialchars(strip_tags(preg_replace("/[#\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $searchkey))); ?>" >
답변을 작성하시기 전에 로그인 해주세요.