thinkphp 从数据库验证用户名和密码的代码,能防止sql注入,,,一般咋么写的啊?高分,

thinkphp 从数据库验证用户名和密码的代码,能防止sql注入,,,一般咋么写的啊?高分,,第1张

即便用户输入了一些恶意的id参数,系统也会强制转换成整型,避免恶意注入。这是因为,系统会对数据进行强制的数据类型检测,并且对数据来源进行数据格式转换。而且,对于字符串类型的数据,ThinkPHP都会进行escape_string处理(real_escape_string,mysql_escape_string)。

而且,你在验证的时候尽量使用数组查询,这样会比较安全,比如:

$map['username']=I('post.name')

$map['userpassword']=I('post.password')

$list=$data=D("user")->where($map)->find()

这样就好了

这个就是比较基础的事情啦

你的代码中:if(mysql_affected_rows($link)!=0)

意思是某个查询所影响的行数,如果用户名和密码都不对,将返回0行,当然就不能通过验证啦

这样是一次性验证了用户名和密码.

但是你的sql语句有问题

应该这样 : $sql2="select * from user where name = '$name' and password = '$pass'"

你要获取查询的结果: 一般都用 mysql_fetch_array()

按照你上面例子用法

$result = mysql_query (select * from user where name = '$name')

$row = mysql_fetch_array($result)

如果你的sql语句没错话,用户名又存在

那么 就返回了一个数组 $row

你用echo $row[0] 或者 $row['name'] 试试就可以获得内容

你获得了用户名之后,就可以继续查询秘密是否正确啦..

原来一样

还不懂的话,来我博客看看 我也在学习php 大家交流一下

http://blog.hzw513.com


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6642987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存