일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- switch
- 네이버스마트 에디터
- SSL
- MYSQL
- 톰캣
- RADIO
- 호환성
- exception
- jquery
- DB
- java
- 웹 플랫폼 설치 관리자
- HTML5
- php
- @RequestBody
- 이클립스
- json
- Oracle
- maven
- JSTL
- 문자열
- html
- null
- spring form tag
- 스크립트
- 오라클
- 한글
- 날짜
- checbox
- 전자정부 표준프레임워크
- Today
- Total
개인적인 정리
xss filter 본문
1. 함수만
function xss_filter($content){ //xss 필터
$content = preg_replace('/(<)(|\/)(\!|\?|html|head|title|meta|body|script|style|base|noscript|
form|input|select|option|optgroup|textarea|button|label|fieldset|legend|iframe|embed|object|param|
frameset|frame|noframes|basefont|applet| isindex|xmp|plaintext|listing|bgsound|marquee|blink|
noembed|comment|xml)/i', '<$3', $content);
$content = preg_replace_callback("/([^a-z])(o)(n)/i",
create_function('$matches', 'if($matches[2]=="o") $matches[2] = "o";
else $matches[2] = "O"; return $matches[1].$matches[2].$matches[3];'), $content);
//tag 사용안하게 될 경우
//$content = str_replace( "<", "<", $content );
//$content = str_replace( ">", ">", $content );
return $content;
}
2. strip_tags
태그를 제거해버리던가
3. htmlspecialchars
**htmlentities vs htmlspecialchars
는 아래 url에서 체크
http://dance2i.tistory.com/103
주의사항..
DB 에 값을 넣어보고 테스트해볼 가치는 있을 것 같다. 기존 sql_filter랑 어떨런지 잘 모르겠다.
php에서 XSS를 막을 수 있는 가장 기초적인 방법은
htmlspecialchars()을 사용하는 방법입니다.
htmlspecialchars() : < , > , & 정도의 문자를 변경하여 줍니다.
그리고 htmlspecialchars() 외에도 htmlentities() 가 있는데 이 함수는 모든문자를 변경합니다.
그렇다보니 한글의 경우에는 깨져서 보여지게 됩니다.
그럴경우에는 htmlentities( $ ,'UTF-8') 이렇게 사용하시면 됩니다.
(UTF-8외에 EUC-KR은 사용할 수 없습니다.)
htmlspecialchars()의 반대기능인 htmlspecialchars_decode()도 있습니다.
'PHP' 카테고리의 다른 글
국가별 접근 설정, 아이피, ip (0) | 2017.03.21 |
---|---|
file_get_contents 대체 (0) | 2017.03.21 |
sql injection 정리 (0) | 2017.03.21 |
파일 업로드시 확장자 체크 (0) | 2017.03.21 |
[워드프레스] 워드프레스 최초 설치할 때 (0) | 2017.03.21 |
php를 이용한 바코드 생성 (0) | 2017.03.21 |
GD한글 깨짐 해결하기 ImageTTFText (0) | 2017.03.21 |
윈도우 10에서 웹 플랫폼 관리자 설치 (0) | 2017.01.01 |