欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php特殊字符转义详解

程序员文章站 2022-05-01 23:30:14
...
  1. $html = array( );
  2. $html['username'] = htmlentities($clean['username'], ent_quotes, 'utf-8');
  3. echo "

    welcome back, {$html['username']}.

    ";
  4. ?>
复制代码

小提示 htmlspecialchars( )函数与htmlentities( )函数基本相同,它们的参数定义完全相同,只不过是htmlentities( )的转义更为彻底。通过$html['username']把username 输出到客户端,你就可以确保其中的特殊字符不会被浏览器所错误解释。如果username 只包含字母和数字的话,实际上转义是没有必要的,但是这体现了深度防范的原则。转义任何的输出是一个非常好的习惯,它可以戏剧性地提高你的软件的安全性。

另外一个常见的输出目标是数据库。如果可能的话,需要对sql 语句中的数据使用php内建函数进行转义。

对于mysql数据库用户,最好的转义函数是mysql_real_escape_string( )。 如果使用的数据库没有php 内建转义函数可用的话,addslashes( )是最后的选择。

例子,对于mysql 数据库的正确的转义技巧:

  1. $mysql = array( );
  2. $mysql['username'] = mysql_real_escape_string($clean['username']);
  3. $sql = "select *
  4. from profile
  5. where username = '{$mysql['username']}'";
  6. $result = mysql_query($sql);
  7. ?>
复制代码

php过滤参数特殊字符防注入 php 过滤非法与特殊字符串的方法 php实例:特殊字符处理函数的例子 替换超长文本中的特殊字符的php代码