2016-03-15 89 views
0

我试图做一个小的倒计时脚本。倒计时秒,仅在更新我的数据库,当它到达0,并重新开始倒计时过程秒更新数据库和循环倒计时

例子:

HTML

<p>Updating your profile in <span class="countdown"></span> seconds.</p> 

我所需要的配置文件的每个780秒进行更新,一旦倒数到0它使一个Ajax调用更新的姿态和倒计时重置再次重复。

而且我已经tryed一些倒计时脚本,但用户可以改变浏览器的脚本,是为了保护用户,从改变代码的网站的任何可能性?

感谢

+0

您可以再压缩和丑化您的JS使其难以阅读和理解,但因为它是在客户端上运行,没有安全可靠的方式,以防止用户更改密码。 – dgig

+0

有没有办法做这个服务器端? – TiagoF

+0

不是因为您无法知道用户是否仍在您的网页上(即使您至少使用了PHP)。这是什么目的?安全? – dgig

回答

0

林使我的一个朋友说,流的网站,他希望 给HES观众穴每次可以说780秒(10分钟),使他们 可以花他们获得赠品。 ..所以我需要的脚本来开始页面加载一个 倒计时,每780秒repete和更新 数据库..

这更是一个安全问题,在我看来。您想知道如何安全地跟踪客户端上的定时事件。

您遇到一些问题:任何知道如何更改代码以更频繁地进行AJAX调用(从而给予更多点数)的人,因此客户端不可行,但您也无法跟踪用户与页面的交互通过服务器端代码。

所以我认为你想要的是两者的结合。你想在客户端定期调用ajax,但你想根据服务器端的一些代码来验证时间 - 你可能想发送AJAX调用,但是通过检查会话或者cookie的ID来验证时间和用户身份。

+0

我只是不希望用户编辑脚本的秒,因为他们不能真正直接更新任何东西,因为更新页面只接受ajax请求..所以我只需要确保最终用户无法编辑780秒,让说10秒.. – TiagoF

+0

这是我的观点,你不能。但是你可以做的是跟踪用户和服务器端的时间,这样当AJAX呼叫进入时,你可以说“这个呼叫发生得太快了,无视它,并且没有任何分数”。 – dgig

0

在做数据库更新添加时间戳到它,然后当你做其他任何电话核对时间戳,看看是否780秒已经过去了。

如果时间超过780然后做数据库更新如果没有,不要做任何事情。

+0

哦,这是一个好主意,即时通讯使用laravel,所以总有一个timsestamp可用。谢谢,但我吸吮的JavaScript,不能弄清楚如何做脚本:页 – TiagoF