gpt4 book ai didi

php - 有人可以将来自不同主机的表单数据发送到我的 PHP 脚本,该脚本将获取的数据插入 MySQL 吗?如果是这样,我们如何保护它?

转载 作者:行者123 更新时间:2023-11-30 21:30:07 25 4
gpt4 key购买 nike

我想知道是否有人可以创建一个自动化脚本来将某种随机表单数据发送到我的 PHP 脚本,该脚本只是将接收到的表单数据插入 MySQL 数据库?数据会被插入吗?我们如何保护它?

示例:我有一个 example.com/signup.php 脚本,它将接收到的表单数据插入到 MySQL 数据库中。是否有人可以将表单数据从不同的主机(例如 localhost 或 domain-name.com)发送到 example.com/signup.php 脚本?

例如,有人可以像下面这样创建某种代码,并继续在 http://www.domain-name.com/signup.php 上插入数据吗?而不是插入 http://www.example.com/signup.php提交时插入的数据是否会插入到数据库中?

<form action="http://www.example.com/signup.php">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button type="submit" name="signup-btn">Signup!</button>
</form>

所以如果有机器人这样做,数据库就会变满...

最佳答案

i am new on stackoverflow, i m not much familiar with stackoverflow editor

你可以在表单中设置一个特定的标记

first set a token session on top of the form page

<?php
session_start();
$token = rand();
$_SESSION['token'] = $token;
?>

<html>
<body>
<form action="http://www.example.com/signup.php">
<input type="hidden" name="token" value="<?php echo $_SESSION['token'] ?>">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button type="submit" name="signup-btn">Signup!</button>
</form>
</body>
</html>

signup.php

  <?php
session_start();
if(isset($_POST['token']) && $_POST['token'] == $_SESSION['token'])
{
//piece of codes to insert into database

}
else{
echo "<script>window.location = 'example.com'</script>";
}
?>

关于php - 有人可以将来自不同主机的表单数据发送到我的 PHP 脚本,该脚本将获取的数据插入 MySQL 吗?如果是这样,我们如何保护它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56755587/

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