zoukankan      html  css  js  c++  java
  • PHP中的安全函数

    1. addslashes

    addslashes 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线()与 NUL(NULL 字符)。 一个使用 addslashes() 的例子是当你要往数据库中输入数据时。 例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。 强烈建议使用 DBMS 指定的转义函数 (比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string()),但是如果你使用的 DBMS 没有一个转义函数,并且使用 来转义特殊字符,你可以使用这个函数。 仅仅是为了获取插入数据库的数据,额外的 并不会插入。 当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。 PHP 5.4 之前 PHP 指令 magic_quotes_gpc 默认是 on, 实际上所有的 GET、POST 和 COOKIE 数据都用被 addslashes() 了。 不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。 遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 stripslashes为addslashes的unescape函数

    2. htmlspecialchars
    
    htmlspecialchars把HTML中的几个特殊字符转义成HTML Entity(格式:&xxxx;)形式,包括(&),('),("),(<),(>)五个字符。
    
    & (AND) => &amp;
    ” (双引号) => &quot; (当ENT_NOQUOTES没有设置的时候)
    ‘ (单引号) => &#039; (当ENT_QUOTES设置)
    < (小于号) => &lt;
    > (大于号) => &gt;   
    
    htmlspecialchars可以用来过滤GET,POST,$COOKIE数据,预防XSS。注意htmlspecialchars函数只是把认为有安全隐患的HTML字符进行转义,
    如果想要把HTML所有可以转义的字符都进行转义的话请使用htmlentities。 htmlspecialchars_decode为htmlspecialchars的decode函数

    3. htmlentities
    
    htmlentities把HTML中可以转义的内容转义成HTML Entity。html_entity_decode为htmlentities的decode函数。
    
    
    4. mysql_real_escape_string
    
    mysql_real_escape_string会 调用MySQL的库函数mysql_real_escape_string,对(x00), (
    ), (
    ), (), (‘), (x1a)进行转义,
    即在前面添加反斜杠(),预防SQL注入。注意你不需要在读取数据库数据的时候调用stripslashes来进行 unescape,因为这些反斜杠是在数据库执行SQL的时候添加的,
    当把数据写入到数据库的时候反斜杠会被移除,所以写入到数据库的内容就是原始数据, 并不会在前面多了反斜杠 但是现在已经不推荐使用mysql_real_escape_string()了,所有新的应用应该使用像PDO一样的函数库执行数据库操作
    5. strip_tags
     
  • 相关阅读:
    css如何使背景图片水平居中
    HTML特殊符号显示技巧
    自定义jquery插件
    bootstrap学习以及其插件
    自定义checkbox样式
    maven java.lang.OutOfMemoryError:PermGEn space
    Java多线程学习(吐血超详细总结)
    Maven .m2 setting.xml配置
    html a标签打开邮件
    File 类
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/5123794.html
Copyright © 2011-2022 走看看