Php 为URL创建唯一ID
我正在处理的页面是安全的,因此没有人可以使用此链接到该页面: 下面的代码在循环中调用Php 为URL创建唯一ID,php,loops,unique,Php,Loops,Unique,我正在处理的页面是安全的,因此没有人可以使用此链接到该页面: 下面的代码在循环中调用 $gentok = uniqid(); if(isset($_GET["action"]) && $_GET["action"] == "clean_$gentok") { // stuff } 然后,我用这个来调用URL: <a href="<?php echo admin_url("themes.php?page=cleaner&action=clean_$g
$gentok = uniqid();
if(isset($_GET["action"]) && $_GET["action"] == "clean_$gentok") {
// stuff
}
然后,我用这个来调用URL:
<a href="<?php echo admin_url("themes.php?page=cleaner&action=clean_$gentok"); ?>">Clean this and that</a>
但是当单击链接时,页面会刷新,并且uniqid()
已经更改
如何使uniqid()
在页面刷新后仍然保持不变?我愿意接受你可能有的任何改变或更好的想法
谢谢大家! 为此使用会话。将您的唯一ID放入会话数组中
session_start();
$_SESSION['gentok'] = uniqid();
if (isset($_GET["action"]) && $_GET["action"] == "clean_" . $_SESSION['gentok']) {
// stuff
}
在你的显示器上
session_start();
<a href="<?= admin_url('themes.php?page=cleaner&action=clean_' . $_SESSION['gentok']) ?>">Clean this and that</a>
session_start();
当您创建会话时,请设置一个值,以便每次加载页面时,它都会检查您的会话是否有该值。否则你会重定向……你会把代码放在上面<代码>如果($_会话['sesname']!=$value]{头位置}
您可以将其放置在页面顶部,以便它执行检查
或
如果你想要一个唯一的名字,那就把人们想要的东西放在容易猜到的地方,不要把它链接到任何地方,把它作为一个社区维基发布,因为我从中没有任何收获 我在评论中关于使用nonce的建议使OP使用WordPress版本的nonce作为解决方案 参考:
- Wiki页面:
foreach
中也会起作用吗太疯狂了,foreach($theme\u name为$theme\u name){
在问题的代码中,我发现一个nonce系统更适合这一点,我可能在我的问题中没有解释得那么好。无论如何,谢谢你的帮助和努力。:)