❶ 關於限制IP地址訪問網站的問題(網站製作)
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
各們高手,我的製作一個網站,但是需要限制一定的IP訪問.具體就是只能讓10.129.208.1-10.129.211.255這一段IP地址訪問這個網站,別的網站在訪問的時候,只顯示"禁止訪問"等字樣就可以了.我曾經在網上找到過一段液友代碼:
<%
'獲取訪問者的地址
ip=Request.ServerVariables("REMOTE_ADDR")
'允許的IP地址段為10.129.208.1~10.129.211.255
allowip1="10.129.208.1"
allowip2="10.129.211.255"
response.write checkip(ip,allowip1,allowip2)
function checkip(ip,allowip1,allowip2)
dim check(4)
checkip=false
ipstr=split(ip,".")
allow1=split(allowip1,".")
allow2=split(allowip2,".")
if cint(allow1(0))>cint(allow2(0)) then '判斷IP地址段是否合法
response.write "禁止訪問"
exit function
end if
for i=0 to ubound(ipstr)
if cint(allow1(i))<cint(allow2(i)) then
if cint(allow1(i))=cint(ipstr(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))<cint(allow2(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))>cint(allow2(i)) then
check(i)=false
checkip=false
exit for
else
check(i)=true
checkip=true
end if
end if
end if
else
if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))<cint(ipstr(i)) then
check(i)=false
checkip=false
if i<>ubound(ipstr) then
exit for
end if
else
check(i)=true
end if
end if
next
if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then
checkip=true
end if
end function
%>
我把以上代碼直接復制到網站的源代碼中.(可以確定位置不會出現錯誤).但是卻不能實現我的要求.我看了這個演算法.只能明白核埋備其中一部分內容.就是得到訪問者的IP,再用最小的IP,和最大的IP,三者進行比較.最後得出結果.但是結果卻沒有改為我所要的效果.由於我比較改毀菜.所以不會修改.改了幾次都是出錯.實在沒有辦法,只有到這里請各位高手幫幫忙~~本人不勝感激!!!
解析:
<%
'自己寫了一個,你看看行不行
'時間倉促,沒有對IP的合法性進行判斷,以後再完善一下
ip="10.129.209.255" '測示用,實際應用時,修改為:ip=getTrueIP
allowip1="10.129.208.1"
allowip2="10.129.211.255"
CIP=((cpIP(allowip1,ip) And cpIP(ip,allowip2)) Or (cpIP(allowip2,ip) And cpIP(ip,allowip1)))
if CIP then
response.write "IP通過驗證!" '實際應用時,可將此句注示掉
else
response.write "所在IP沒有訪問本站許可權!"
response.end
end if
'函數名:cpIP(ip1,ip2)
'比較IP1,IP2大小,如果IP1<=IP2,返回TRUE
'weiwei at 2006-11-28
Function cpIP(ip1,ip2)
minIPcx=Split(ip1,".")
maxIPcx=Split(ip2,".")
cpIPx=true
For ic_i=0 To UBound(minIPcx)
If CInt(minIPcx(ic_i))>CInt(maxIPcx(ic_i)) Then
cpIPx=false
Exit for
ElseIf CInt(minIPcx(ic_i))<CInt(maxIPcx(ic_i)) Then
Exit for
End If
Next
cpIP=cpIPx
End Function
'get the true ip
Function getTrueIP()
IPmm=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IPmm="" Then IPmm=Request.ServerVariables("REMOTE_ADDR")
getTrueIP=IPmm
End Function
%>
❷ 如何禁止特定IP訪問自己網站
在不同的環境下有很多技術可以實現這個功能:
如果是家用寬頻路由器拆扒叢,在路由器上設置黑名單就可以禁止指定的IP訪問自己的路由器上網。;
如果是企業網環境,可以在交換機或路由器上設置ACL來禁止指定的IP訪問;
如果是一個伺服器,可以使用防火牆或其此枯他工具旅櫻來禁止指定的IP訪問自己的網站。
但禁止指定的IP訪問自己的網站不是一個很好的防範措施,因為別人可以通過修改IP地址來繞開你的禁止。可以使用其他,如賬號、MAC地址等方式來限制。
❸ 怎麼禁止指定的IP訪問自己的網站
1、打開IIS,選擇要設置的網站,打開「屬性」-「目錄安全性」,找到「IP地址和域名限制」,點「編輯」,如圖1:
通過IIS設置阻止某個IP或IP段訪問你的網站
圖一
2、點擊「添加團肆」,如果你想阻止某一個IP訪問你的網站,那麼就選擇「一台計算機」,在下面輸入你想阻止的IP即可,比如192.168.1.1,如圖2:
通過IIS設置阻止某個IP或IP段訪問你的網站
圖二
3、如果你想阻止一段IP訪問,那麼就選擇「一組計算機」,下面以例子詳述:假如大桐你想阻止128開頭的IP段128.X.X.X,那就在「網路標識」里輸入128.1.1.1,「子網掩碼」里輸入255.0.0.0;假如你想阻止137.25開頭的IP段137.25.X.X,那就在「網路標識」里輸入137.25.1.1,「子網掩碼」里輸入255.255.0.0,如圖3:
通過IIS設置阻止某個IP或塌仿轎IP段訪問你的網站
圖三
通過以上簡單的三步,你就可以輕松阻止某個IP或IP段訪問你的網站咯,不過不要企圖用這種方式來阻止攻擊哦,貌似不能抗攻擊。。。望採納
❹ 網站怎麼限制某個地區訪問
你好x0dx0a有兩州咐沒種方案,請自行選擇x0dx0a第一種方案:網站用ASP或者PHP代碼調用IP資料庫進行判斷,網站設置好哪些城市可以訪問,哪些城市不可以訪問,簡槐比如說,網站不能讓北京的來的訪客訪問,那麼如果北京來的Ip的話,網站進行ip判斷,如果是北京來的就讓他訪問其它的頁面,如果不是北京來的訪客就讓他正常訪問,要求是ip資料庫用IP純真資料庫查詢地區的IP段時保存成TXT格式,或者資料庫格式,這樣代碼調用時侯就會快一些,不能採用直接到淘寶IP資料庫或者IP的網站對比IP數據,那樣的話網站打開很慢,可以把他們的IP資料庫下載下來放到網站的根目錄裡面,這樣網站打冊納開會提高打開速度。x0dx0a第二種方案:伺服器限制某城市訪問,在伺服器上面設置黑名單城市,如果是黑名單城市來的訪問就讓他拒絕訪問,如果不是黑名單來的城市訪客,就讓他正常訪問。
❺ 如何禁止伺服器IP訪問網站
禁止伺服器IP訪問網站的方法如下(以CNZZ為例):
登錄CNZZ
2.設置需禁止的網站
3.排除IP
4.填寫IP,確定即可
❻ ip被禁止訪問網站怎麼回事啊
發生這樣情況舉寬凳可能是因為此網伺服器端將客戶端IP地址封鎖了,也可能是網路設置問題。以下是具體介紹:
1. 伺服器端將客戶端IP地址封鎖,禁止客戶端訪問。很可能是伺服器判斷客戶端IP地址存在可能傷害伺服器行為。這種情況只能聯系伺服器正旅端解決;
2. 有可能是由於瀏覽器設置的問題,導致無法訪問。您可以使用360的斷網急救箱一鍵修復查看一下:檢查瀏覽器配置是否存在異巧胡常狀況,把瀏覽器配置那一項存在的異常情況修改回來就好;
❼ 怎麼屏蔽ip,禁止訪問我的網站
在不同的環境下有很多技術可以實現這個功能:
如果是家用寬頻路由器,在路由器上設置黑名單就可以禁止指定的IP訪問自己的路由器上網。;
如果是企業網環境,可以在交換機或路由器上設置ACL來禁止指定的IP訪問;
如果是一個伺服器,可以使用防火牆或其他工具來禁止指定的IP訪問自己的網站。
但禁止指定的IP訪問自己的網站不是一個很好的防範措施,因為別人可以通過修改IP地址來繞開你的禁止。可以使用其他,如賬號、MAC地址等方式來限制。
❽ 網站如何限制某個城市的IP段打開
1。使用.htaccess文件
這是最簡單和常用的方法,通過Apache的Deny指令可讓你特定禁止某個IP地址訪問你的Bluehost伺服器。通過在.htaccess文件里設置某個IP地址或某段IP地址以達到來禁止某些訪客的目的並可以阻止不速之客。但是不正確地使用卻可對你的網站流量和性能產生負面影響(使用deny指令將導致Apache將對每一個請求和整個IP列表進行匹配。因此我們不鼓勵使用這個方法除非有很好的理由這么做。如果還是需要這么做的話,請限制禁止IP地址的數量)。
在下面的例子中,所有的IP地址和網域都可以訪問網站除了256.24.67.89 IP地址和example.com:
# allow all except those indicated here
order allow,deny
allow from all
deny from 256.24.67.89
deny from .*example\.com.*
2。使用CloudFlare
CloudFlare是最簡單和最直接的方式來達到禁止某個地區或國家IP訪問網站。這個方法需要先啟用CloudFlare帳戶,而且Bluehost免費支持CloudFlare,不過你必須先登錄Bluehost的cPanel網站控制面板後台啟用CloudFlare。通過在CloudFlare里添加自定義規則就可輕松地禁止個別IP地址、IP段或任何一個國家訪問你的網站。
❾ IP被網站限制訪問了,請問怎麼才能解決這個問題
可以聯系網站管理員解除IP限制,或者使用未被限制的代理ip訪問。
❿ 網站nginx配置限制單個IP訪問頻率,預防DDOS惡意攻擊
對於網站來說,尤其是流量較大出名的網站,經常遇到攻擊,如DDOS攻擊等,雖然有些第三方,如Cloudflare可以擋,但對於動態網站PHP來說,只能擋一部分。這時候需要對於單個IP惡意攻擊做出限流。nginx的兩個模塊可以限流。
nginx兩個限流模塊:
連接頻率限制,ngx_http_limit_conn_mole:官方文檔:https://nginx.org/en/docs/http/ngx_http_limit_conn_mole.html
請求頻率限制,ngx_http_limit_req_mole:官方文檔:https://nginx.org/en/docs/http/ngx_http_limit_req_mole.html
網上理論很多,根據名字可知:
當然還是看不懂的話,通俗點講(相對於時間比較):
比如秒殺,搶購,連接頻率限制和請求頻率限制應該配合使用 , 使用連接頻率限制同一IP同時只能有3個連接, 再使用請求頻率限制對於同一ip的請求,限制平均速率為5個請求/秒 , 這樣比單獨只使用一種限制要好很多。
比如只使用請求頻率限制 , 可以精確地限制同一ip1秒只能發起5次的http請求 , 假如同一ip1秒內發起了100000次請求 , 雖然限制了只有5次成功響應 , 但是其他的99995次的請求TCP握手建立http連接是不是會消耗伺服器資源? 所以還需要配合使用。
1、limit_req_zone,示例:
2、limit_conn_zone,示例:
3、搭配一起使用
1、ab命令
ab是apache自帶的壓力測試工具。一般不用額外安裝,ab非常實用,它不僅可以對apache伺服器進行網站訪問壓力測試,也可以對或其它類型的伺服器進行壓力測試。比如nginx、tomcat、IIS等。
測試命令
2、wrk命令
需自己安裝,地址:https://github.com/wg/wrk
安裝
測試命令:
還有其他壓測工具,自行研究