UA即為使用者代理(User-Agent),伺服器透過UA識別訪客的身分。當網站針對指定UA的訪問,返回異常頁面(如403,500)或跳到其他頁面的情況,即為UA禁封。
限制user_agent :
user_agent(使用者代理程式):指瀏覽器(搜尋引擎)的資訊包括硬體平台、系統軟體、應用軟體和使用者個人偏好。 (建議學習:PHP影片教學)
當駭客用CC攻擊你的伺服器時,請查看下日誌發現user_agent是一致的,而且一秒鐘出現多次user_agent,這樣就必須限制user_agent
<IfModule mod_rewrite.c> //使用rewrite模块 RewriteEngine on RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] //定义user_agent条件,OR表示两条件之间是或者的意思,NC表示忽略大小写 RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC] //定义user_agent条件 RewriteRule .* - [F] // 规则 [F] 表示forbidden(403) </IfModule>
咱們還是使用rewrite modul
RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] //匹配Curl的访问 [NC,OR] NC:忽略大小写。 OR:是或者的意思,要么这一条,要么下一条满足情况 RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC] RewriteRule .* - [F] // F:Forbidden 禁止
只要使用curl和baidu.com來攻擊,就會直接也不跳躍了,就直接禁止!
[[email protected] test3.com]# curl -x127.0.0.1:80 www.test3.com <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access / on this server.<br /> </p> </body></html>
以上是php怎麼ua限制的詳細內容。更多資訊請關注PHP中文網其他相關文章!