![](/img/trans.png)
[英]How do I call a 'conscruct of functions' that are included in a PHP-file or a Javascript-file?
[英]Store random string in Session, which gets overwritten, when I call it through another PHP-File
我创建了一个表单,其中包含一个隐藏的输入,并且它的值由一个函数设置。
<?php
class Token {
public static function generate(){
return $_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(32));
}
}
?>
这样称呼:
<input type="hidden" id="token" value="<?php echo Token::generate(); ?>">
我通过JavaScript / AJAX将其发送到另一个文件(例如“ form.php”),该文件包含以下内容:
<?php
session_start();
@require_once 'Token.class.php';
echo $_POST['token'] . " => " . $_SESSION['token']; // different tokens, why?
// $_POST['token'] is the one, that I want
// and so on...
?>
为什么当我输入时值会改变: <?php echo $_SESSION['token']; ?>
<?php echo $_SESSION['token']; ?>
这是我存储在Dropbox上的项目
因为您每次进入站点都在生成新的?
<?php
class Token {
public static function generate(){
if(isset($_SESSION['token']) && $_SESSION['token']) return $_SESSION['token'];
else return $_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(32));
}
}
?>
PS。 您可能要使用md5(uniqid())
代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.