使用JavaScript按时间阻止网页上的用户

使用JavaScript按时间阻止网页上的用户,javascript,web,Javascript,Web,我需要一些关于如何在我的网站上实现以下内容的帮助。该网站将允许用户观看电视频道,但我需要它来阻止一段时间后的用户。(例如,一个注册和激活的用户可能被允许几个小时,但仅限于该用户。我不希望所有用户都在同一时刻被阻止,我尝试阻止一个用户。我想我希望使用JavaScript来做到这一点 原始问题,以防我在重写中遗漏了什么: 如果我需要的事情发生在我身上,我会非常高兴,你们知道,伙计们,我有一个允许用户观看电视频道的网站,所以我需要javascript在一段时间后阻止用户。例如:如果用户注册并注册,所以

我需要一些关于如何在我的网站上实现以下内容的帮助。该网站将允许用户观看电视频道,但我需要它来阻止一段时间后的用户。(例如,一个注册和激活的用户可能被允许几个小时,但仅限于该用户。我不希望所有用户都在同一时刻被阻止,我尝试阻止一个用户。我想我希望使用JavaScript来做到这一点

原始问题,以防我在重写中遗漏了什么:

如果我需要的事情发生在我身上,我会非常高兴,你们知道,伙计们,我有一个允许用户观看电视频道的网站,所以我需要javascript在一段时间后阻止用户。例如:如果用户注册并注册,所以我需要在几个小时后通过javascript自动阻止用户,我不希望所有人都发生这种情况如果有任何评论,请帮助我;很抱歉我的英语不好,我不懂英语,也请帮助我(谢谢你们的支持)


您确定要为此使用javascript吗?如果是这样,一个有能力的用户可以绕过你的封锁。如果您真的想在几个小时后阻止用户,您可能会考虑在服务器上(可能是在PHP)上这样做。 如果你只是想阻止用户,并且不介意一些用户绕过它,只需将其写在评论中,我将解释如何归档它

编辑:Javascript代码: 它应该与此代码一起工作,在方法blockUser()中,您可以定义浏览器应该如何阻止用户,可能只是每秒打印一个警报或隐藏所有div或。。。。 希望我能帮助你

编辑2: 在这个解决方案中,我使用了一个名为timeLeft的cookie。它以秒为单位存储用户能够查看的时间。对于第一个if(if(getCookie(“timeLeft”)==”),如果还没有cookie,我就创建一个新cookie。然后我每秒钟调用一次方法subSecond。它从当前时间中减去1,并将新时间写入cookie。如果时间为零(或更少),将调用函数blockUser,您可以在其中添加一些额外的javascript以确保您阻止了用户。 但同样,这只是一个针对无经验用户的解决方案,对计算机稍有了解的用户可以通过删除cookie或将cookie设置为更高的值轻松绕过此块

    var timeLeft;
    if(getCookie("timeLeft") == ""){ //cookie doesn't exist yet
        setCookie("timeLeft", 3*60*60, 365); //first argument: name of cookie
                                             //second argument: after how many seconds the user should be blocked (in this example 3 hours)
                                             //third argument: how long do you want to store this cookie in days (in this example 1 year)
    }
    timeLeft = getCookie("timeLeft");

    subSecond();

    function subSecond(){
        //1 second has past, let's remove it from our cookie
        timeLeft--;
        setCookie("timeLeft",timeLeft,"365");

        console.log(getCookie("timeLeft"));

        if(timeLeft <= 0) blockUser();

        //and now just open this method again in 1 second
        setTimeout(function(){ 
            subSecond(); 
        }, 1000);
    }

    function blockUser(){
    alert("BLOCKING");S
    }



    function setCookie(cname, cvalue, exdays) {
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires="+d.toUTCString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
    }

    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1);
            if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
        }
        return "";
    }
var-timeLeft;
如果(getCookie(“timeLeft”)==”{//cookie尚不存在
setCookie(“timeLeft”,3*60*60365);//第一个参数:cookie的名称
//第二个参数:应阻止用户的秒数(在本例中为3小时)
//第三个参数:您希望以天为单位存储此cookie多长时间(在本例中为1年)
}
timeLeft=getCookie(“timeLeft”);
亚秒();
函数次秒(){
//1秒钟过去了,让我们从cookie中删除它
时间限制--;
setCookie(“timeLeft”,timeLeft,“365”);
log(getCookie(“timeLeft”);

如果(timeLeft)你说的“阻塞”是什么意思?您不能在客户端以安全的方式执行此操作。您必须在服务器上执行此操作,方法是杀死该用户的视频流。我希望javascript完美,因为我的网站使用免费服务器,而不是php。我不懂php。好吧-抱歉!我不知道,谢谢您告诉我。现在我添加了javascript代码,这是一个答案。现在一切都好了,不是吗?@Philipp是的,你已经给出了答案(尽管如果你想让它更好的话,它可以使用一些代码解释)。