无错误的PHP登录脚本无法正常工作

 手机用户2502915433 发布于 2022-12-28 06:46

我正在使用以下内容:

Firefox 31.0(禁用Cookies)WAMP Server 2.

问题是,即使我使用正确的登录帐户,浏览器也只会将我重定向回登录页面.


问题(我认为)如果没有在查询上是在If Else.它跳过IF下的语句,然后直接跳转到ELSE语句,再次将我重定向回登录页面.

代码没有错误,但可能在逻辑错误,或者它是浏览器.感谢您的帮助.

1 个回答
  • $username = isset($_POST['username']);
    $password = isset($_POST['password']);
    

    这会将用户名和密码设置为仅指示是否存在已发布值的布尔值.由于您在查询中使用这些变量,查询将失败(除非您的用户'1'的密码为'1').

    一种可能但不是很好的解决方法是:

    $username = $_POST['username'];
    $password = $_POST['password'];
    

    但是你对SQL注入是开放的,因为任何人都可以发布任何字符来打破你的查询.如果密码包含;或更糟:部分SQL语句怎么办?所以更好的是:

    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    

    mysql_real_escape_string将转义无效字符,因此可以在查询中非常安全地使用它们.但是,您仍然使用过时的,已弃用的函数集来连接和使用MySQL.因此,请阅读MySQL介绍页面上的警告(几乎每个与此库相关的其他页面也会重复此警告).

    此扩展自PHP 5.5.0起不推荐使用,不建议用于编写新代码,因为将来会删除它.相反,应该使用mysqli或PDO_MySQL扩展.另请参阅 MySQL API概述,以便在选择MySQL API时获得进一步的帮助.

    到目前为止,MySQL.下一章是发送和存储密码.你应该优先通过HTTPS(也许你已经这样做了,我希望如此).通常,您不应将密码作为纯文本存储在数据库中.实际上你也不应该加密它们.你应该哈希他们.即便如此,添加一些.具体细节在这里需要解释,但对此有很好的解释.这是一个随机的:严重的安全性:如何安全地存储用户的密码

    2022-12-28 07:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有