请教asp代码(如何限制同一个IP在一段时候内访问网站次数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教asp代码(如何限制同一个IP在一段时候内访问网站次数)相关的知识,希望对你有一定的参考价值。

意思是。。一个IP第一次访问了你的站点。在一个时段内(例如两小时内)访问N次都只算一次。过了这个时间再访问才再算一次...谁会哦。最好有代码。。。给全部分-_-(虽然分很少。但希望能帮帮我啦。谢谢啦)

<%
Dim Ip
Ip = Request.ServerVariables("REMOTE_ADDR")
If Request.Cookies("ip") = Ip Then
Response.Write("你已经在2小时内访问过本站!")
Else
Response.Cookies("ip").Expires = DateAdd("h",2,Now())
Response.Cookies("ip") = Ip
End If
%>
参考技术A 第一次打开的时候写cookies,设置cookies的有效期是两个小时
再次打开的时候就判断cookies的值是否有效就行了
参考技术B <%
Dim
Ip
Ip
=
Request.ServerVariables("REMOTE_ADDR")
If
Request.Cookies("ip")
=
Ip
Then
Response.Write("你已经在2小时内访问过本站!")
Else
Response.Cookies("ip").Expires
=
DateAdd("h",2,Now())
Response.Cookies("ip")
=
Ip
End
If
%>

Apache HTTP Server:如何将对目录列表的访问限制在某些 IP 范围内?

【中文标题】Apache HTTP Server:如何将对目录列表的访问限制在某些 IP 范围内?【英文标题】:Apache HTTP Server: How to restrict access to directory listings to some ip ranges? 【发布时间】:2015-09-17 08:48:23 【问题描述】:

在 Apache HTTP Server 2.4 中:如何将对目录列表的访问限制在某些 ip 范围内?文件仍应可通过 URL 公开下载,但目录列表应受到限制。

【问题讨论】:

是否可以选择阻止一系列 ip 的索引页面? 【参考方案1】:

&lt;If&gt; Expression 可以做到这一点。

这是你的虚拟主机/conf:

<VirtualHost *:80>
        DocumentRoot /var/www/html

        Options -Indexes        # disable listing
        <If "%REMOTE_ADDR == '10.0.0.5'">
            Options +Indexes    # enable listing if ip matches
        </If>
</VirtualHost>

<Directory /var/www/html>
        Require all granted
</Directory>

在 Ubuntu Server 和带有 Apache 2.4 的 Windows 上对其进行了测试——遗憾的是,这不适用于旧 Apache 版本。


对于 IP 范围,可以使用另一种方式来检查 IP:

<If "%REMOTE_ADDR -ipmatch '10.0.0.0/8'">

或者更快的方法是-R:

<If "-R '192.168.0.0/16' || -R '10.0.248.0/24'">

【讨论】:

感谢您的赏金和-R 的提示 - 文档说它也更有效。

以上是关于请教asp代码(如何限制同一个IP在一段时候内访问网站次数)的主要内容,如果未能解决你的问题,请参考以下文章

一种基于自定义代码的asp.net网站访问IP过滤方法!

爬虫与反爬

C语言 如何在一段时间内检测键盘是不是按下

acl 限制一个ip访问外网,在局域网内,限制一个ip地址访问外网的acl,希望给出具体的acl命令,思科的最好

请教:如何限制SYBASE登录,条件是用户名默认SA 口令空 不能修改

Apache HTTP Server:如何将对目录列表的访问限制在某些 IP 范围内?