【发布时间】:2019-06-01 23:15:22
【问题描述】:
我对 C#、PHP、MYSQLi 有疑问。 我用
为登录和注册系统制作了一个表格这是一个用于用户注册的简单 C# 函数。
IEnumerator 注册商( 字符串名称, 字符串用户名, 字符串电子邮件, 字符串密码 ) {
// This is what sends messages to our php script
WWWForm form = new WWWForm();
// The fields are the variables we are sending
form.AddField("name", name);
form.AddField("username", username);
form.AddField("email", email);
form.AddField("password", password);
//string url = "http://www.my-server.com/registrar.php";
string url = "http://localhost/registrar.php";
UnityWebRequest www = UnityWebRequest.Post(url, form);
// Wait for php to send something back to unity
yield return www.SendWebRequest();
if (
www.isNetworkError || www.isHttpError
) {
Debug.Log("Error!");
} else {
Debug.Log("Complete!");
}}
__
// Database variables
$db_host = "localhost";
$db_user = "root";
$db_password = "test";
$db_name = "test";
// Connect to database.
$db = mysqli_connect($db_host, $db_user, $db_password, $db_name);
// User variables
$name = $db->real_escape_string($_POST["name"]);
$username = $db->real_escape_string($_POST["username"]);
$email = $db->real_escape_string($_POST["email"]);
$password = $db->real_escape_string($_POST["password"]);
$password_hash = password_hash($password, PASSWORD_DEFAULT);
// E-mail can not be empty
if(
!empty($email)
&&
!empty($username)
&&
!empty($password)
) {
// Insert user data
$db->query("INSERT INTO `user`(`username`, `name`, `email`, `password`) VALUES ('$username', '$name', '$email', '$password_hash')");
// Display...
echo "Success!";
} else {
// Display an error
echo "Error!";
}
?>
一切正常,PHP 代码正常运行。
但是我现在的问题是,如果黑客获取了注册页面的 URL,并为自己制作一个和我的表单一样的表单并使用我的注册页面的 URL 并使用,会发生什么。
这是我的问题,这个问题会破解游戏数据,比如(得分、总比赛、时间比赛、其他数据)。
那么我该如何保护和保护(请求发布)我是否在 PHP 或 C# 中做过一些事情。
【问题讨论】: