为什么用户名输入大小写都可以进去啊?怎么判断啊?

时间:2023-01-18 00:59:09
为什么用户名输入大小写都可以进去啊?怎么判断啊?

15 个解决方案

#1


用==就可以了

你是不是做了大写或者小写的转换处理的?

#2


用===试试。

#3


php不可能自动忽略大小写的,肯定是的程序有这方面的设定了,请查看你的程序

#4


===

#5


$sql="select * from admin where userName='$userName' and password=='$password'";
不对啊!进不去啊!不管输入什么都进不去

#6


哎!谁能告诉我啊?

#7


$sql="select * from admin where userName='$userName' and password=='$password'";


password=='$password'";
怎么这样的了 

判断大小写,我知道有两种方法:
第一:正则,具体的在网上找找 忘了
第二:判断字符的二进制编码:

for ($asc=65;$asc<=90;$asc++)

if (strpos($username,chr($asc)) !== false)
{
echo"<script language=\"JavaScript1.2\">parent.retmsg('2','$username');</script>";
return;
}
}

#8


在默认情况下,MySQL搜索不区分大小写。如果希望总是以区分大小写的方式处理列,可使用区分大小写的或二进制校对声明它。
如:
CREATE TABLE T(
name VARCHAR(10) BINARY
);

#9


$sql="select * from admin where userName='$userName' and password='$password'";

这种可怕的sql讨论了若干年还有人写?

请将password取出来用strcpm比较好不?

#10


$sql="select * from admin where userName='$userName' and password='$password'";
这种写法不对吗?还是不安全?

#11


$sql="select * from admin where userName='$userName' and password=md5('$password')";

#12


$sql="select * from admin where userName='$userName' and password='$password'";
这种写法不对吗?还是不安全?
这个还要判断是否有结果,有,才能通过验证的!
不知道LZ是否忽略了 ?

#13


用“==”
VB語法才是“=”

#14


用户名大小写都能进入,这也不是什么坏事啊。如果你严格控制大小写的话,那么在注册的时候也需要对用户名的字符逐个检查。
如果是在是要严格区分大小写的话,可以判断两次,第一次不区分大小写,让数据库完成查找后,把用户名和密码取出,再用php进行判断,这个时候就可以用“==”了……
呵呵,提供个思路,仅供参考。也欢迎高手指正:).

#15


如果mysql字段不用bin,汉字select的时候也会出错,经常把不是这个汉字的字段也select出来

#1


用==就可以了

你是不是做了大写或者小写的转换处理的?

#2


用===试试。

#3


php不可能自动忽略大小写的,肯定是的程序有这方面的设定了,请查看你的程序

#4


===

#5


$sql="select * from admin where userName='$userName' and password=='$password'";
不对啊!进不去啊!不管输入什么都进不去

#6


哎!谁能告诉我啊?

#7


$sql="select * from admin where userName='$userName' and password=='$password'";


password=='$password'";
怎么这样的了 

判断大小写,我知道有两种方法:
第一:正则,具体的在网上找找 忘了
第二:判断字符的二进制编码:

for ($asc=65;$asc<=90;$asc++)

if (strpos($username,chr($asc)) !== false)
{
echo"<script language=\"JavaScript1.2\">parent.retmsg('2','$username');</script>";
return;
}
}

#8


在默认情况下,MySQL搜索不区分大小写。如果希望总是以区分大小写的方式处理列,可使用区分大小写的或二进制校对声明它。
如:
CREATE TABLE T(
name VARCHAR(10) BINARY
);

#9


$sql="select * from admin where userName='$userName' and password='$password'";

这种可怕的sql讨论了若干年还有人写?

请将password取出来用strcpm比较好不?

#10


$sql="select * from admin where userName='$userName' and password='$password'";
这种写法不对吗?还是不安全?

#11


$sql="select * from admin where userName='$userName' and password=md5('$password')";

#12


$sql="select * from admin where userName='$userName' and password='$password'";
这种写法不对吗?还是不安全?
这个还要判断是否有结果,有,才能通过验证的!
不知道LZ是否忽略了 ?

#13


用“==”
VB語法才是“=”

#14


用户名大小写都能进入,这也不是什么坏事啊。如果你严格控制大小写的话,那么在注册的时候也需要对用户名的字符逐个检查。
如果是在是要严格区分大小写的话,可以判断两次,第一次不区分大小写,让数据库完成查找后,把用户名和密码取出,再用php进行判断,这个时候就可以用“==”了……
呵呵,提供个思路,仅供参考。也欢迎高手指正:).

#15


如果mysql字段不用bin,汉字select的时候也会出错,经常把不是这个汉字的字段也select出来