请选择 进入手机版 | 继续访问电脑版
收起左侧

mysql-防止sql注入

[复制链接]

552

主题

569

帖子

1万

积分

管理员

站长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
16427

灌水之王

QQ
发表于 2017-9-22 20:21:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
当我们登陆的时候,要做判断输入的用户名是否为数字(只能数字形式的登陆,比如QQ等等)
在php里使用函数is_numeric($var)
[PHP] 纯文本查看 复制代码
if(  !is_numeric( $_POST['id'] ) ){
    die("输入的用户名不是数字,请重新输入!");
//上述代码判断一个通过post传过来的参数是否为数字类型的,如果不是数字类型的,则输出一段话,并停止程序运行
}


有必要可以判断一下是否小于0之类的,反正对安全有威胁的都要判断

还有一种方法是对输入的字符进行转义:
使用函数:
[PHP] 纯文本查看 复制代码
addslashes( );

效果:



还有一个mysqli php中的一个扩展函数(对特殊字符进行转义):
[PHP] 纯文本查看 复制代码
mysqli_real_escape_string($link, $string_to_escape);

它有两个参数,$link是数据库连接实例,第二个是要转义的字符串,效果和上面那个函数差不多,感觉还是addslashes( )好用。



上一篇:mysql-sql注入之免密码登陆
下一篇:mysql-防止sql注入
QQ:2424004764
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|客户端下载|先锋者IT论坛 ( 湘ICP备16007032号湘公网安备 43030202001052号

GMT+8, 2024-4-19 08:27 , Processed in 0.093426 second(s), 17 queries , File On.

Powered by Discuz! X3.3

© 2017 bbs.fologde.com. Template By Gstudio

快速回复 返回顶部 返回列表