GET,POST값 등을 JAVASCRIPT에서 사용할 경우[펌]
<script>
//<!-- or //<![CDATA[
~~~ 내용 ~~~
//--> or// ]]>
</script>
기본 자바스크립트 모양이 이럴건데
<!-- 등 때문에 살짝 문제가됨.
# 문제점
<script>
//<!--
var req = "<?=$_GET['req']?>";
//-->
</script>
처럼 할 경우
req의 내용이
";--> <script>alert('X');</script>
처럼 되어있다면?
<script>
//<!--
var req = "";--> <script>alert('X');</script>";
//-->
</script>
이렇게 결과가 되며
스크립트 동작에 문제가 있을 수 있다.(요즘 브라우저는 스크립트 공격으로 보고 스크립트 동작을 멈춘다.)
$_GET말고도 DB의 내용등 PHP에서 javascript로 값을 남겨 사용할 경우도 똑같다.
#해결법
<!-- 등의 HTML 주석 처리 부분을 빼고, htmlspecialchars() 를 사용한다.
<script>
var req = "<?=htmlspecialchars($_GET['req'])?>";
</script>
아래처럼 HTML엔터티 처리가되서 무사 OK
<script>
var req = "";--> <script>alert('X');</script>";
</script>
#추가
스크립트 코딩시 &나 >,< 같은 단어의 엔터티 처리가 힘드므로
<script>
var req = "<?=htmlspecialchars($_GET['req'])?>";
</script>
<script>
//<!--
var f = document.form1;
f.req.value = req;
//-->
</script>
처럼 값 선언 부분과 비지니스 처러 부분을 따로하고
비니지스 처리 부분만 HTML 주석처리 해주면 된다.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 130 | 20년 전 | 4016 | ||
| 129 | 20년 전 | 2953 | ||
| 128 | 20년 전 | 3693 | ||
| 127 | 20년 전 | 3533 | ||
| 126 | 20년 전 | 3784 | ||
| 125 | 20년 전 | 8605 | ||
| 124 | 20년 전 | 2607 | ||
| 123 | 20년 전 | 3761 | ||
| 122 | 20년 전 | 3219 | ||
| 121 | 20년 전 | 2621 | ||
| 120 | 20년 전 | 2682 | ||
| 119 | 20년 전 | 2595 | ||
| 118 | 20년 전 | 2869 | ||
| 117 |
|
20년 전 | 3071 | |
| 116 | 20년 전 | 5332 | ||
| 115 | 20년 전 | 3935 | ||
| 114 | 20년 전 | 4985 | ||
| 113 | 20년 전 | 6228 | ||
| 112 | 20년 전 | 7334 | ||
| 111 | 21년 전 | 18444 | ||
| 110 | 21년 전 | 6887 | ||
| 109 | 21년 전 | 2895 | ||
| 108 | 21년 전 | 4151 | ||
| 107 |
prosper
|
21년 전 | 2511 | |
| 106 |
prosper
|
21년 전 | 4329 | |
| 105 |
아우겐나이스
|
21년 전 | 2927 | |
| 104 | 21년 전 | 2273 | ||
| 103 | 21년 전 | 2486 | ||
| 102 | 21년 전 | 2273 | ||
| 101 | 21년 전 | 2588 | ||
| 100 | 21년 전 | 1765 | ||
| 99 | 21년 전 | 1580 | ||
| 98 | 21년 전 | 1628 | ||
| 97 | 21년 전 | 2144 | ||
| 96 | 21년 전 | 1894 | ||
| 95 | 21년 전 | 2392 | ||
| 94 | 21년 전 | 3577 | ||
| 93 | 21년 전 | 1574 | ||
| 92 | 21년 전 | 1768 | ||
| 91 | 21년 전 | 3192 | ||
| 90 | 21년 전 | 2350 | ||
| 89 | 21년 전 | 3188 | ||
| 88 | 21년 전 | 2877 | ||
| 87 | 21년 전 | 3304 | ||
| 86 | 21년 전 | 5151 | ||
| 85 | 21년 전 | 2536 | ||
| 84 | 21년 전 | 4837 | ||
| 83 | 21년 전 | 2516 | ||
| 82 | 21년 전 | 3130 | ||
| 81 | 21년 전 | 7642 | ||
| 80 | 21년 전 | 3841 | ||
| 79 | 21년 전 | 3223 | ||
| 78 | 21년 전 | 4704 | ||
| 77 | 21년 전 | 2915 | ||
| 76 | 21년 전 | 6230 | ||
| 75 | 21년 전 | 4481 | ||
| 74 | 21년 전 | 5798 | ||
| 73 | 21년 전 | 3636 | ||
| 72 | 21년 전 | 5979 | ||
| 71 | 21년 전 | 3132 | ||
| 70 | 21년 전 | 2860 | ||
| 69 | 21년 전 | 2649 | ||
| 68 | 21년 전 | 2458 | ||
| 67 | 21년 전 | 2664 | ||
| 66 | 21년 전 | 2686 | ||
| 65 | 21년 전 | 3795 | ||
| 64 | 21년 전 | 2837 | ||
| 63 | 21년 전 | 2468 | ||
| 62 | 21년 전 | 2277 | ||
| 61 | 21년 전 | 3095 | ||
| 60 | 21년 전 | 3144 | ||
| 59 | 21년 전 | 2528 | ||
| 58 | 21년 전 | 2601 | ||
| 57 | 21년 전 | 2985 | ||
| 56 | 21년 전 | 2344 | ||
| 55 | 21년 전 | 2775 | ||
| 54 | 21년 전 | 2144 | ||
| 53 | 21년 전 | 2373 | ||
| 52 | 21년 전 | 2713 | ||
| 51 |
prosper
|
21년 전 | 2366 | |
| 50 |
prosper
|
21년 전 | 2183 | |
| 49 | 21년 전 | 2195 | ||
| 48 | 21년 전 | 2356 | ||
| 47 | 21년 전 | 1950 | ||
| 46 | 21년 전 | 1937 | ||
| 45 | 21년 전 | 2142 | ||
| 44 | 21년 전 | 2375 | ||
| 43 | 21년 전 | 4589 | ||
| 42 |
prosper
|
21년 전 | 2722 | |
| 41 |
prosper
|
21년 전 | 2124 | |
| 40 | 21년 전 | 2188 | ||
| 39 | 21년 전 | 2160 | ||
| 38 | 21년 전 | 2435 | ||
| 37 | 21년 전 | 2579 | ||
| 36 | 21년 전 | 1788 | ||
| 35 | 21년 전 | 4089 | ||
| 34 | 21년 전 | 3861 | ||
| 33 | 21년 전 | 3001 | ||
| 32 |
prosper
|
21년 전 | 2915 | |
| 31 | 21년 전 | 5303 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기