php登录防止注入,PHP web应用当存在注入的情况下,如何写用户登录防止通过注入绕过登录汗血宝马...

PHP web应用当存在注入的情况下,如何写用户登录防止通过注入绕过登录

假设条件不可改,不要回答防止注入

一般的2中写法

·

1

$sql = “select * from user where user_name=$username and password=$password”;

$res = $db_obj->get_one($sql);

if($res){

//登录成功

}

·

·

2

$sql = “select * from user where user_name=$username”;

$res = $db_obj->get_one($sql);

if($res[password]==md5($password)){

//登录成功

}

·

以上2中均可绕过,求安全写法

既然已经存在注入漏洞,不仅登录可以绕过,连你的数据库都是不安全的。如果知道你的表结构,插入一个管理员帐号也是很简单的事。所以关键还是要防注入,而不是注入以后怎么办。

最简单的

$sql = “select * from user where user_name='”.addslashes($username).”‘”;

一般的写法难道不是使用 orm 读写数据库?

手写 sql,本身就不安全

使用PDO预处理语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值