gpt4 book ai didi

PHP和mySQL登录安全疑虑

转载 作者:行者123 更新时间:2023-11-29 11:33:27 25 4
gpt4 key购买 nike

我对 PHP 和 mySQL 完全陌生,我为我的网站构建了一个小型登录表单。由于互联网上对此类事情的描述更加广泛,我只想问您这是否是一种安全的方法,因为它只需要几行就可以工作:

首先,我在 phpMyAdmin 中使用用户名和密码(使用 md5 进行哈希处理)创建一个表。之后,我使用以下脚本在网站上运行登录,其中 $_POST 内容来自表单。

<?php
session_start();
$db = @mysqli_connect("...", "...", "...") or
die("Connection failed!");
mysqli_select_db($db,'...');
if(isset($_POST['username']))
{
$_SESSION['user'] = $_POST['username'];
$_SESSION['password'] = md5($_POST['password']);
$user = $_SESSION['user'];
$password = $_SESSION['password'];
$sql = "SELECT * FROM logins WHERE username = \"$user\"";
$result = $db->query($sql);
$row = $result->fetch_assoc();
if($row["password"] == $password)
{
$_SESSION['logged'] = "loggedin";
}
}
?>

注销脚本也非常简单。

<?php
session_start();
session_destroy();
unset($_SESSION['user']);
unset($_SESSION['password']);
header('Location: ../index.php');
?>

此外,我限制所有私有(private)内容

<?php
if (isset($_SESSION['logged']))
{
$temp = $_SESSION["user"];
echo "Hello $temp, nice to see you!";
}
?>

或者我进行重定向。

这是我的问题:

  1. 这是一种安全的方法吗?容易被黑客入侵吗?
  2. 如果reverse lookup,md5 有什么意义?有可能吗?

谢谢!

最佳答案

你还有很多工作要做。这里有一些好的起点。从这里和 Google 获取想法,因为那里有很多信息需要您利用。

有关如何服务器和提交页面,请参阅此处 Is HTTPS as the form's action enough?

有关如何散列的信息,请参阅此处(当前我的选择)Password Hashing Functions

最后阅读了有关表单验证和输入清理的优秀帖子是 What's the best method for sanitizing user input with PHP?

此外,正如其中一条评论指出的那样,请查看 Prepared Statements

希望这可以帮助您开始您的旅程。

关于PHP和mySQL登录安全疑虑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37010770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com