我正在开发一个允许用户注册和登录的 C# 应用程序。我打算在服务器端代码上使用 MySQL 数据库和 PHP。这是我计划使用的服务器端代码。此代码复制自以下两篇文章。
(安全)PHP 登录系统(防止 SQL 注入)
使用 PHP 的登录系统
注册.php
<?php
$conn = new mysqli("db4free.net", "csharptricks", "12345678", "csharptricks");
$username = $_POST["username"];
$password = $_POST["password"];
$hashedpw = md5($password);
$stmt = $conn->prepare("SELECT username FROM Users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
echo "Existing";
}
else {
$stmt = $conn->prepare("INSERT INTO Users (username, password) VALUES (?, ?);");
$stmt->bind_param("ss", $username, $hashedpw);
$stmt->execute();
echo "Success";
}
?>
登录.php
<?php
session_start();
$conn = new mysqli("db4free.net", "csharptricks", "12345678", "csharptricks");
$username = $_POST["username"];
$password = $_POST["password"];
$hashedpw = md5($password);
$stmt = $conn->prepare("SELECT username, password FROM Users WHERE username = ? LIMIT 1");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->bind_result($output1, $output2);
$row = $stmt->fetch();
if($output2 == $hashedpw) {
$_SESSION["username"] = $username;
echo "LoginGood";
}
else {
echo "LoginBad";
}
?>
我是 PHP 新手,所以我想从专家那里知道这段代码是否存在风险。任何意见和建议都非常感谢。
提前致谢。
慕容森
芜湖不芜
随时随地看视频慕课网APP
相关分类