Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 以反馈形式使用令牌_Php_Forms_Security - Fatal编程技术网

Php 以反馈形式使用令牌

Php 以反馈形式使用令牌,php,forms,security,Php,Forms,Security,为了使反馈表更安全,已进行检查。凭借我有限的技能,我想出了这样的想法: 假设有form.php(表单)和form-processing.php(用于发送表单的脚本)。 在form.php的开头: <?php session_start(); $token = md5(uniqid(rand(), true)); $_SESSION['token'] = $token; 这样做安全吗?此令牌的目的是什么?其目的是检查form-processing.php处理的数据是否已由form.php提

为了使反馈表更安全,已进行检查。凭借我有限的技能,我想出了这样的想法:

假设有form.php(表单)和form-processing.php(用于发送表单的脚本)。 在form.php的开头:

<?php
session_start();
$token = md5(uniqid(rand(), true));
$_SESSION['token'] = $token;

这样做安全吗?此令牌的目的是什么?其目的是检查form-processing.php处理的数据是否已由form.php提交到同一网站。我想有更好的方法来做到这一点,如果是这样,请让我知道。
<form method="POST">    
<input type="hidden" name="token" value="<?php echo $token; ?>" />
<?php

session_start();

if (isset($_SESSION['token']) && $_POST['token'] == $_SESSION['token'])
    {
    }
else {
  die( "Invalid token" );
}