PHP 转义详解

    添加时间:2013-7-12 点击量:

    php中数据的魔法引用函数 magic_quotes_gpc  或 magic_quotes_runtime     


    设置为on时,为我们引用的数据碰着 单引号 和 双引号 以及 反斜线\ 时主动加上反斜线,帮我们主动转译符号,确保数据操纵的正确运行
    两者的差别:


    magic_quotes_gpc
    感化局限是:WEB客户办事端;
    感化时候:恳求开端是,例如当脚本运行时。


    magic_quotes_runtime
    感化局限:从文件中读取的数据或履行exec()的成果或是从SQL查询中获得的;
    感化时候:每次当脚本接见运行状况中产生的数据。


    可以看出
    magic_quotes_gpc的设定值将会影响经由过程Get/Post/Cookies获得的数据
    magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询获得的数据


    几个想接洽关系的函数:


    set_magic_quotes_runtime():
    设置magic_quotes_runtime值. 0=封闭.1=打开.默认状况是封闭的.可以经由过程 echo phpinfo(); 查看magic_quotes_runtime
    get_magic_quotes_gpc():
    查看magic_quotes_gpc值.0=封闭.1=打开
    get_magic_quotes_runtime():
    查看magic_quotes_runtime值。0=封闭.1=打开.
    重视的是没有 set_magic_quotes_gpc()这个函数,就是不克不及在法度里面设置magic_quotes_gpc的值。


    因为两个值的设置题目,会给编程时造成项目组混合或者会多加一次转义,针对这种景象,须要在法度开端的时辰进行设置和断定,或者默认设备
    这两个值都封闭。转义项目组经由过程法度来履行。


    包管数据插入数据时正常 凡是会应用 addslashes 这个来处理惩罚, 数据读出时多用 stripslashes 往来交游掉加的反斜杠



    php中类似的字符转换的函数
    addslashes                         指定的预定义字符前添加反斜杠
    stripslashes                        删除由 addslashes() 函数添加的反斜杠
    htmlspecialchars                把一些预定义的字符转换为 HTML 实体
    htmlspecialchars_decode  把一些预定义的 HTML 实体转换为字符
    html_entity_decode()        把 HTML 实体转换为字符
    htmlentities()                     把字符转换为 HTML 实体

    原来,再大的房子,再大的床,没有相爱的人陪伴,都只是冰冷的物质。而如果身边有爱人陪伴,即使房子小,床小,也觉得无关紧要,因为这些物质上面有了爱的温度,成了家的元素。—— 何珞《婚房》#书摘#
    分享到: