>  기사  >  백엔드 개발  >  htmlspecialchars跟addslashes和et_magic_quotes_gpc的区别

htmlspecialchars跟addslashes和et_magic_quotes_gpc的区别

WBOY
WBOY원래의
2016-06-13 12:19:341070검색

htmlspecialchars和addslashes和et_magic_quotes_gpc的区别
htmlspecialchars和
addslashes和
et_magic_quotes_gpc

这三个玩意好象没有区别,似乎又有区别,不知如何处理三者之间的关系呢

------解决思路----------------------
htmlspecialchars 转换成html实体,偶尔在存入数据库之前把html转为实体存储(一般是富文本编辑的内容)
addslashes 转义特殊符号,一般在查数据库的时候会先转义特殊字符,防止sql注入
get_magic_quotes_gpc 判断magic_quotes_gpc(若开启的话,php会对GET、POST 和 COOKIE 数据自动运行 addslashes)是否开启,防止你二次转义


------解决思路----------------------
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '

addslashes() 函数在指定的预定义字符前添加反斜杠。
默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

et_magic_quotes_gpc 这个应该是
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=关闭.1=打开

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