非法字符过滤本文章主要是讲 php 过滤非法字符没讲asp过滤非法字符 的函数但是思想都一样的.

) 过滤影响MySQL正常运行的字符。

当需要把用户输入的内容(有可能包含单引号、双引号 、反斜线、空字元 NUL )代入到mysql的语句 中执行时,应该把APACHE中的magic_quotes_gpc项设成On。

如果APACHE中的此项设成Off时,也可用php的函数addslashes()达到相同的目的,但这两种手段不能同时使用,否则会出现重复替换,出现错误。

样例:

PHP代码

当然,如果APACHE中的magic_quotes_gpc项为On,但有时又不想转义某项的特殊字符,可以使用stripslashes()去掉其中的 \

2) 过滤影响MSSQL正常运行的字符。

当需要把用户输入的内容(有可能包含单引号)代入到mssql的语句中执行时,应该把APACHE中的magic_quotes_sybase项设成On,此时magic_quotes_gpc项不再生效。

如果APACHE中的此项设成Off时,php中并没有合适的函数达到相同的目的,只能使用字符串替换函数来达到此目的。

样例:

PHP代码

现在10.218.17.53上的PHP既要访问mysql又要访问mssql,APACHE中的设置不能兼顾两种数据库,所以只对mysql做了相应设置。

2. 应对用户输入包含SQL语句的一个措施。

以下两种SQL写法都比较普遍,但安全程度是不同的,当用户提交的$id='1 and 1=2 union select ...'时第一种就会显示出不该显示的数据,而第二种就相对安全些。

SQL代码

Select * FROM article Where articleid=$id

Select * FROM article Where articleid='$id'

3. 防止用户输入的内容因包含html标签或javascript而影响页面的正常显示。

可以用htmlspecialchars()过滤其中的 & " < >

PHP代码

$content = htmlspecialchars($content);

4. 当页面要显示的内容包含回车换行时,可以使用nl2br()来达到页面上换行的效果。

方法一.

function chkstr($paravalue,$paratype) //过滤非法字符

{

if($paratype==1)

{

$inputstr=str_replace("'","''",$paravalue);

}

elseif($paratype==2)

{

$inputstr=str_replace("'","",$paravalue);

}

return $inputstr;

}

$user1=chkstr($_GET["user"],1);

$user2=chkstr($_GET["user"],2);

//$user=$_GET["user"];

print "方式1-----------------

";

print "$user1

";

print "方式2-----------------

";

print "$user2

";

?>

方法二.

http://www.bkjia.com/PHPjc/629753.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629753.htmlTechArticle非法字符过滤 本文章主要是讲 php 过滤非法字符 没讲asp过滤非法字符 的函数但是思想都一样的. ) 过滤影响MySQL正常运行的字符。 当需要把...

php过滤非法字符函数,非法字符过滤_PHP教程相关推荐

  1. php语言加减乘除函数,php的chr和ord函数实现字符加减乘除运算实现代码_PHP教程...

    chr函数用于将ASCII码转换为字符 ord函数是用来字符转换为ASCII码 ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点.字母.数字.汉字等.在编程过程中,经常把 ...

  2. php header函数的详解,php header函数的详解_PHP教程

    header函数在php中是发前一些头部信息的,如果我们可以直接使用它来做301跳转等,下面我来总结关于header函数用法与一些常用见问题解决方法. 发送一个原始 HTTP 标头[Http Head ...

  3. php中errorreporting,php中error_reporting函数用法详解_PHP教程

    在php中error_reporting是设置 PHP 的报错级别并返回当前级别,我们可以根据不同级别来设置是不给出错误提示域外出错时是否向往执行程序,下面我来介绍error_reporting()用 ...

  4. php函数前加amp;,php函数定义与函数amp;引用用法_PHP教程

    /* 函数定义: * 1.函数是一个被命名的 * 2.独立的代码段 * 3.函数执行特定任务 * 4.并可以给调用它的程序返回一个值 * * 函数的优点: * 1.提高程序的重用性 * 2.提高程序的 ...

  5. Oracle 11g Release 1 (11.1) 单行函数——(返回字符值)字符函数

    http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#autoId2 本文内容 返回字符值的字符函数 附录 AS ...

  6. 数学函数,字符和字符串

    数学函数,字符和字符串 数学函数 cmath头文件中提供了非常多有用的函数来执行常用的数学功能. 三角函数 功能 描述 sin(radians) 返回以弧度表示的角度的正弦值 cos(radians) ...

  7. c语言字符函数isalpha,总结C语言字符检测函数:isalnum、isalpha...

    前言:最近一直在刷leetcode的题,用到isalnum函数,用man手册查找了一下,总共有13个相关函数如下: #include int isalnum(int c); int isalpha(i ...

  8. c语言计算字符串的函数是什么,字符函数

    字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据. 中文名 字符函数 外文名 character function 应用领域 计算机等涉 ...

  9. R语言stringr包str_count函数计算字符串匹配个数实战

    R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据

最新文章

  1. 周志华教授:AI领域如何做优秀研究并写高水平论文?
  2. java 两个数交换问题
  3. unity角色移动代码_教你3个步骤实现Unity小地图
  4. linux c 内存泄露 检查工具
  5. WebService 基础
  6. vb.net2019-多线程并行计算(2)
  7. SpringBoot demo初始
  8. cocos2d-x游戏开发(十)执行单元场景CCScene
  9. 如何解决和异地女朋友一起看电影的需求?(内附源码)
  10. python sqlsever 时间_Python sqlalchemy时间戳及密码管理实现代码详解
  11. 存定期还能加钱进去吗_购买支付宝的定期理财产品,会亏钱吗?
  12. arduino学习笔记(一)——bamboosir920
  13. [BZOJ 4010] 菜肴制作
  14. 程序员利用Python定时抓取微博评论
  15. mysql列名重复_ORA-00957:重复的列名_MySQL
  16. linux用户是什么意思,Linux中的./是什么意思
  17. 各种浏览器开启JavaScript脚本
  18. 字符串查找工具 批量搜索文件的文本内容工具
  19. 摩斯密码Java/Python实现
  20. 天线巴伦制作和原理_传输线巴伦的原理设计制作及测试

热门文章

  1. dos从优盘启动计算机,DOS启动版U盘制作方法(usbboot)
  2. linux下DNS配置详解
  3. RIP路由协议基本配置
  4. 自动化运维工具之Zabbix发现_自动注册及web页面状态监控(四)
  5. vmware esxi 升级 SCSI RAID卡驱动
  6. ajax调用后台Datatable
  7. SQL AZURE数据导入导出,云计算体验之四
  8. 软件开发:到底谁还在传言软件巨头濒临死亡?
  9. 计算机会计技术特点,会计电算化的特点
  10. java中div的用法,Java Math floorDiv()用法及代码示例