Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Html 创建一个URL,该URL将每隔一段时间进行随机设置,并删除对过去URL的访问_Html_Url_Url Rewriting_Url Routing - Fatal编程技术网

Html 创建一个URL,该URL将每隔一段时间进行随机设置,并删除对过去URL的访问

Html 创建一个URL,该URL将每隔一段时间进行随机设置,并删除对过去URL的访问,html,url,url-rewriting,url-routing,Html,Url,Url Rewriting,Url Routing,好的,我知道这个问题在这里已经回答了一半,但我会完整地解释,看看是否有更好的方法来处理这个问题,然后分两部分 我正在建立一个HTML5投票网站,每半小时就关闭一次投票。然后开始新一轮的投票 我需要做的是将此网站的URL“屏蔽”,即: 生成一个指向同一位置的随机URL——比如说我引导用户访问voting.com,我希望他们只能通过URLvotingstuff.com/hg67访问它,并且每半小时更改一次结尾部分——一旦生成新URL,就可以通过旧URL删除对该站点的访问 我可能会补充说,在用户投票后

好的,我知道这个问题在这里已经回答了一半,但我会完整地解释,看看是否有更好的方法来处理这个问题,然后分两部分

我正在建立一个HTML5投票网站,每半小时就关闭一次投票。然后开始新一轮的投票

我需要做的是将此网站的URL“屏蔽”,即: 生成一个指向同一位置的随机URL——比如说我引导用户访问voting.com,我希望他们只能通过URLvotingstuff.com/hg67访问它,并且每半小时更改一次结尾部分——一旦生成新URL,就可以通过旧URL删除对该站点的访问

我可能会补充说,在用户投票后,我还想关闭他们的投票访问,直到发布新的URL。每个人只有一次投票的机会


想法?图书馆要退房吗?这样做的网站?我知道随机化已经被回答了好几次,但通常它是由一个页面引导的生成器,我想从一个随机生成的URL开始,而不是让一个页面将其创建为函数。我想我可能需要编写生成页面的代码

我可以想到一种方法-

您不需要处理多个URL,您可以通过每小时启用/禁用对URL内容的访问,在同一URL上实现这一点

您还需要在应用程序/服务器端执行一些操作。作为参考,让我们假设您有一个PHP服务器正在运行。您需要一些表格来保存您的状态设置,类似这样的内容-

设置表

id     settingCode    value
=============================
 1      votingOpen      1
您还需要在服务器上设置每半小时运行一次的cron作业。cron作业的任务是每半小时运行一次&将votingOpen的值更改为其相反的值。因此,假设打开您的投票,votingOpen字段的初始值为1,即开始投票的前半小时

除此之外,您还将开始cron工作。现在将发生的是,半小时后,cron作业将获取votingOpen read it的值&如果是1,它将把它更改为0;如果是0,它将把它更改为1。这将在服务器上每半小时发生一次

现在,您需要使用一个简单的查询来获取它的值,从而在客户端代码上访问这个votingOpen变量。在投票页面的每个呈现上,您可以在顶部的某个地方检查该值&如果该值为1,即true,您将编写逻辑以继续并显示投票页面。但如果为0,则可以重定向用户或在该页面上显示其他消息

假设您的投票发生在,在此页面的呈现逻辑上,您可以执行以下操作-

投票视图逻辑

<?php
$votingOpen = {some database query that fetches the value from the database};

if($votingOpen) {
  // your voting view resides here
} else {
 // either redirect user to some other page
 // or show some message like voting is closed on this same page.
}
?>

限制一人多票

通常,处理此问题的最佳方法是组合或仅注册用户投票+cookie/localStorage+IP跟踪

但是,如果您没有注册用户投票,您仍然可以捕获用户的IP&每个IP只允许一次投票,您还可以在用户计算机中设置cookie或localStorage变量,以便用户只能投票一次

希望这有帮助


参考Cron作业-

谢谢,这是一个很好的解决方案。不过,我唯一剩下的是,这将在位置上持续运行,客户希望避免人们拥有url、回家,以及在家中扭曲投票……你的想法是什么?url只会每半小时激活一次。因此,每半个小时才可以访问一次。你是说你不想让用户在半小时后也知道你的url吗?但是,你要如何让他们在每半个小时后达到这个目标,你必须以某种方式给他们新的url,对吗?@puppies_pidgeons-我已经更新了答案,并添加了一个关于如何限制来自一个人/地点/计算机的投票的部分。这是一个很好的解决方案!这与其他一些东西混合在一起,正是我所需要的!