php 验证用户和密码用还能用函数strcmp()吗?

qq_39131225 qq_39131225 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
看书的时候,看到说:“直接查询数据库验证用户名和密码,不会区分用户名和密码的大小写”。自己验证了一下,结果确实不会区分(代码如下)。说是建议用函数strcmp()进行比较。
然而,我去baidu上查找相关资料发现说:“strcmp()函数有安全漏洞——构造数组绕过"。所有我想问问各位大侠,现在验证用户名和密码常见的方法是什么?


html页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆页面</title>
</head>
<body>
<center>
<h2>登陆页面</h2>
</center>

<form action="login_pro.php" method="post">
<table align='center'>
<tr>
<td>用户名:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pwd"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</form>

</body>
</html>
php页面验证代码
<?php
header('content-type:text/html;charset=utf-8');

foreach($_POST as $key => $value)
{
$$key = $value;
}

//var_dump($pwd);die;

$pdo = new PDO('mysql:host=127.0.0.1;dbname=test',"root","root");
$pdo -> exec("set names utf8");
$res = $pdo -> query("select * from ci_user where user ='".$user."' and pwd ='".$pwd."'")->fetch(PDO::FETCH_ASSOC);

// var_dump($res);die;

if($res)
{
echo "<script>alert('用户验证通过。');history.back();</script>";
}
else
{
echo "<script>alert('密码验证错误。');history.back();</script>";
}
...全文

相关推荐

PHP中strcmp()和strcasecmp()函数字符串比较用法分析

- 用户输入验证,如用户名、密码的检查。- 搜索算法中关键词的匹配。### 返回值的含义理解`strcmp()`和`strcasecmp()`的返回值对于正确处理比较结果至关重要。

weixin_38621638

PHP登录strcmp函数绕过

从这里开始,我实际上花了很长时间尝试在我的 get 请求中传递对 $FLAGWEB6 的引用,因为这两个变量是相同的。不幸的是,我永远无法让它工作(如果我在这里错过了一些愚蠢的事情,请联系我!source.txt 文件很简单,在我们的 GET 请求和 $PASSWORD 变量之间执行了一个简单的 strcmp。在页面的源代码中并没有那么隐藏是我可以找到表单源的地方。无法在这方面取得任何进展,然后我回顾了挑战提供的提示。发送请求后,我收到了标志和随后的 70 分。考虑到这一点,我向登录页面发送了以下请求。..

墨痕诉清风

基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解

例如,如果要比较用户输入的密码时,可能需要使用strcmp()来确保大小写正确匹配;而在对用户显示的信息进行排序时(例如用户名列表),则可能使用strcasecmp()来确保排序不受大小写影响。

weixin_38500444

php strcmp使用说明

;```在这个示例中,我们首先定义了两个变量$pswd和$pswd2,分别存储用户输入的密码。然后使用strcmp函数比较这两个密码字符串。

weixin_38712578

php函数之字符串函数大全

`substr()`: 提取字符串的一部分,可以根据需要截取字符串。这些函数构成了PHP字符串处理的基础工具箱,无论是在创建动态网页、处理用户输入还是进行数据操作,都能发挥重要作用。

ayaben
评论 5
收藏 已收藏
分享
返回顶部
qq_39131225
基础编程 21,889 成员 140,329 内容