>  기사  >  php教程  >  HTML 태그를 필터링하기 위해 htmlspecialchars()와 Strip_tags 함수를 사용하는 PHP의 차이점

HTML 태그를 필터링하기 위해 htmlspecialchars()와 Strip_tags 함수를 사용하는 PHP의 차이점

WBOY
WBOY원래의
2016-09-30 09:23:101381검색

원본주소 : http://www.manongjc.com/article/1103.html

먼저 htmlspecialchars 함수와 Strip_tags 함수의 사용 예를 살펴보겠습니다.

<?<span style="color: #000000;">php  
</span><span style="color: #800080;">$str</span>="<a href='http://www.manongjc.com'>码农教程'\"</a>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">htmlspecialchars</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span><span style="color: #0000ff;">echo</span> "<br/><br/>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">strip_tags</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span>?> 

브라우저에서는 다음과 같은 결과가 출력됩니다.

<a href='http://www.manongjc.com'>码农教程'<span style="color: #000000;">"</a>  
  
码农教程</span>'"  

페이지 소스 코드를 보면 결과는 다음과 같습니다.

<span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">='http://www.manongjc.com'</span><span style="color: #0000ff;">></span>码农教程'"<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span>码农教程'" 

결과를 보면 htmlspecialchars()와 Strip_tags의 차이점은 다음과 같습니다.

차이점 1:

strip_tags 함수는 HTML 태그를 제거하는 데 사용되는 반면 htmlspecialchars는 html 태그를 제거하지 않고 태그를 HTML 인스턴스로 변환만 하기 때문에 둘의 가장 큰 차이점은 하나는 HTML 태그를 삭제하는 것이고 다른 하나는 다른 문자에 대해 html 태그를 변환합니다.

차이점 2:

HTML 태그에서 제거해야 하는 문자열의 태그가 원래 잘못된 경우(예: 보다 큼 기호가 누락된 경우), Strip_tags 함수를 사용할 때 오류가 반환되지만 htmlspecialchars이며 여전히 HTML 엔터티로 변환됩니다.

차이점 3:

XSS 공격을 방지하려면 일반적으로 htmlspecialchars 함수를 사용하는 것이 좋습니다. 왜냐하면 Strip_tags가 HTML 태그를 삭제할 수는 있지만 "或'。因此就算你使用了strip_tags는 삭제하지 않기 때문입니다. "或'

걸러내려면 htmlspecialchars 함수를 사용해야 합니다. 🎜>

양식 제출이나 사용자 메시지 게시판에서 원본 데이터 출력을 브라우저로 전송하려면 Strip_tags 함수 대신 htmlspecialchars 함수를 사용하십시오.

htmlspecialchars() 및 Strip_tags 함수에 대한 내용을 참조하세요.

http://www.manongjc.com/article/1213.html

http://www.manongjc.com/article/1099.html

http://www.manongjc.com/article/795.html
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.