首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有人可以从不同的主机发送表单数据到我的PHP脚本,该脚本将获取的数据插入到MySQL中?如果是这样,我们如何确保它的安全呢?

问是否有人可以从不同的主机发送表单数据到我的PHP脚本,该脚本将获取的数据插入到MySQL中?如果是这样,我们如何确保它的安全呢?
EN

Stack Overflow用户
提问于 2019-06-25 21:48:00
回答 1查看 111关注 0票数 1

我想知道是否有人可以创建一个自动化脚本,将某种类型的随机表单数据发送到我的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上插入数据?当提交时,插入的数据会被插入到数据库中吗?

代码语言:javascript
复制
<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>

因此,如果有机器人执行此操作,数据库可能会变满。

EN

回答 1

Stack Overflow用户

发布于 2019-10-16 20:35:16

我是stackoverflow的新手,我对stackoverflow编辑器不是很熟悉。

您可以在表单中设置特定的令牌

首先在表单页面上设置令牌会话

​

代码语言:javascript
复制
<?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

​

代码语言:javascript
复制
  <?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>";
}
      ?>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56755587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档