Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录名:区分大小写的Xcode/PHP_Php_Xcode_Login_Case Sensitive - Fatal编程技术网

登录名:区分大小写的Xcode/PHP

登录名:区分大小写的Xcode/PHP,php,xcode,login,case-sensitive,Php,Xcode,Login,Case Sensitive,我对Xcode和客户登录功能有问题。 2个文本字段:一个用于名称,一个用于密码 例如,在我的数据库中,密码是“Hello”。 但是我可以键入“Hello”或“Hello”(不区分大小写)来满足登录条件 我能做些什么使它区分大小写?(在Xcode或PHP中?) .php文件: $Nickname = $_GET["User"]; $Password = $_GET["Password"]; $query = "SELECT Count(*) FROM kunde WHERE Nickname=

我对Xcode和客户登录功能有问题。 2个文本字段:一个用于名称,一个用于密码

例如,在我的数据库中,密码是“Hello”。 但是我可以键入“Hello”或“Hello”(不区分大小写)来满足登录条件

我能做些什么使它区分大小写?(在Xcode或PHP中?)

.php文件:

$Nickname = $_GET["User"];
$Password = $_GET["Password"];


$query = "SELECT Count(*) FROM kunde WHERE Nickname='$Nickname' AND Password='$Password'";

$result=mysql_query($query) or die("error");
    $num = mysql_numrows($result);
    mysql_close();


    $rows = array();
    while ($r = mysql_fetch_assoc($result))
    {
        $rows[] = $r['Count(*)'];

    }
    echo json_encode($rows); 

您不应该以纯文本形式存储密码。使用类似sha1()的散列函数和salt。您的密码将区分大小写

$Password = sha1($Password . 'somerandomstring');
您需要在存储密码和检查密码之前使用它。sha1()将始终使用相同的输入生成相同的字符串


对于数据库中的其他字段,可以通过使用适当的排序规则来确保它们区分大小写。现在您正在使用的是utf8\u general\u ci。结尾的“ci”部分表示不区分大小写。将其更改为utf8\u general\u cs将解决此问题。

您不应以纯文本形式存储密码。使用类似sha1()的散列函数和salt。您的密码将区分大小写

$Password = sha1($Password . 'somerandomstring');
您需要在存储密码和检查密码之前使用它。sha1()将始终使用相同的输入生成相同的字符串


对于数据库中的其他字段,可以通过使用适当的排序规则来确保它们区分大小写。现在您正在使用的是utf8\u general\u ci。结尾的“ci”部分表示不区分大小写。将其更改为utf8\u general\u cs将解决此问题。

您也可以将该列作为二进制查询,并区分大小写:

$query = "SELECT Count(*) FROM kunde WHERE Nickname='$Nickname' AND binary Password='$Password'";

请记住转义$昵称和$Password以避免[sql注入][1]。(http://en.wikipedia.org/wiki/SQL_injection)

您还可以以二进制形式查询该列,并且该列区分大小写:

$query = "SELECT Count(*) FROM kunde WHERE Nickname='$Nickname' AND binary Password='$Password'";

请记住转义$昵称和$Password以避免[sql注入][1]。(http://en.wikipedia.org/wiki/SQL_injection)

Xcode在这方面的作用是什么?你能告诉我们你对数据库/表使用的是哪种mysql排序规则吗?你可以在php代码中使用strcmp()函数来检查它,或者将表编码从_ci(case insensetive)改为_cs(case senetive),我使用的是“utf8\u general\u ci”。在德语中,我们需要“ä”、“ö”或“ü”以及诸如“&”或“ñ”之类的符号……Xcode在这方面的作用是什么?您能告诉我们您的数据库/表使用的是哪种mysql排序规则吗?您可以在php代码中使用strcmp()函数来检查它,或者将表编码从_ci(case insensetive)更改为_cs(case senetive),我正在使用的是“utf8_general_ci”。在德语中,我们需要“ä”、“ö”或“ü”以及诸如“&”或“ñ”之类的符号……好的,谢谢,我会试试的!其他字段显示正确。但是密码字符串的比较不完全正确。好的,谢谢,我会试试!其他字段显示正确。但密码字符串的比较并不准确。