1#楼 |
|
|
回复人:cykk |
注册时间:2004-12-30 |
主题/回复:41/99 |
积分:688 |
等级:★★★(六级) |
称号:声名鹊起 |
|
|
|
1#楼 发表于2005-04-15 04:22:52
评分:1
|
|
好哦,现在正在努力学习PHP,希望有一天能成为17PHP论坛的版主! |
|
2#楼 |
|
|
回复人:haihe |
注册时间:2005-04-02 |
主题/回复:0/1 |
积分:401 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
2#楼 发表于2005-04-19 19:14:49
评分:1
|
|
|
3#楼 |
|
|
回复人:qinga1b2 |
注册时间:2005-04-20 |
主题/回复:13/17 |
积分:482 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
3#楼 发表于2005-04-25 21:28:40
评分:2
|
|
版主,你说的这个是什么意思哦?
select * from user where username=$username and password=$password这样的语句据就非常容易被利用,通过输入一些非法语句破坏掉你的sql语句从而轻松绕过验证。写这类语句,最好是首先查询$username,然后再比对$password,而不是用and一起查询。
是不是先确定有这个用户名和密码呀 |
|
4#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
4#楼 发表于2005-04-25 22:58:05
评分:×
|
|
由于sql注入漏洞就主要是通过提交非法的数据库查询实现的,所以我提了这一条,意思是:
首先查询用户名 select * from user where username='$username'
执行之后,如果找到了用户名,并且数据库中用户的密码为:$pass
然后再判断密码是否正确
if($pass==$userpass){...}
否则,如果在查询数据库的时候同时查询用户名和密码,那么如果你的站点存在sql注入漏洞,那么攻击者通过在用户名中输入一个非法的字符串,这个字符串本身就是sql查询语句的一部分,这样的话,你原来的查询语句就被篡改了,查询结果可能就错误,被攻击者利用来绕过身份验证。 |
|
5#楼 |
|
|
回复人:zhangjun434 |
注册时间:2005-03-29 |
主题/回复:14/22 |
积分:492 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
5#楼 发表于2005-05-12 17:46:29
评分:1
|
|
斑竹说的的确是重要,看来现在养成的许多习惯的确是有问题的,在以后的学习中还真的要注意,代码的书写问题啊,养成一个好的习惯终究是一件好事,受益匪浅啊, |
|