








add_action('init', function() {? ??$uri?=?$_SERVER['REQUEST_URI'];? ??// 只針對以下路徑進行檢查? ??$is_target_page?= (? ? ? ??$uri?===?'/'?||? ? ? ??strpos($uri,?'/product/') !==?false?||? ? ? ??strpos($uri,?'/product-category/') !==?false?||? ? ? ??strpos($uri,?'/product-tag/') !==?false? ? ); ?? ??if?(!$is_target_page) {? ? ? ??return;? ? }? ??// 允許的搜索引擎來源? ??$allowed_referrers?= ['google.',?'bing.',?'yahoo.',?'duckduckgo.',?'yandex.',?'brave.'];? ??// 允許的爬蟲 UA 關鍵詞$allowed_bots?= [? ??'google', ? ??// 放寬匹配 googlebot / google-inspectiontool / google-speakr 等? ??'bing',? ??'yahoo',? ??'duckduck',? ??'yandex',? ??'aol',?? ??'brave'?];? ??$user_agent?=?strtolower($_SERVER['HTTP_USER_AGENT'] ???'');? ??$referer?=?strtolower($_SERVER['HTTP_REFERER'] ???'');? ??// 放行爬蟲? ??foreach?($allowed_bots?as?$bot) {? ? ? ??if?(strpos($user_agent,?$bot) !==?false) {? ? ? ? ? ??return;? ? ? ? }? ? }? ??//判斷是否搜索引擎來源? ??$has_valid_referrer?=?false;? ??foreach?($allowed_referrers?as?$domain) {? ? ? ??if?(strpos($referer,?$domain) !==?false) {? ? ? ? ? ??$has_valid_referrer?=?true;? ? ? ? ? ??break;? ? ? ? }? ? }? ??// 如果從搜索引擎來,設置 cookie? ??if?($has_valid_referrer) {? ? ? ??setcookie('from_search_engine',?'1',?time() +?86400,?'/',?'',?false,?true);? ? ? ??return;? ? }? ??// 如果已有 cookie,放行? ??if?(isset($_COOKIE['from_search_engine']) &&?$_COOKIE['from_search_engine'] ===?'1') {? ? ? ??return;? ? }? ??// 否則拒絕訪問? ??status_header(500);? ??exit;});
3、網頁程序限制的方法還有很多,也可以組合使用。比如瀏覽器的語言,瀏覽器的Cookies ....都是非常好用的。
location?/ {? ??allow?192.168.1.100; ??# 允許訪問的IP? ??allow?203.0.113.45;? ??deny?all; ? ? ? ? ? ? ??# 其他禁止}
geoip2 /etc/nginx/geoip/GeoLite2-Country.mmdb {? ??$geoip2_data_country_code?country iso_code;}map?$geoip2_data_country_code?$allowed_country?{? ? default no;? ? US?yes; ?# 只允許美國訪問? ? CA?yes; ?# 允許加拿大訪問}server {? ??if?($allowed_country?= no) {? ? ? ??return?403;? ? }}
limit_req_zone?$binary_remote_addr?zone=one:10m?rate=1r/s;server?{? ??location?/ {? ? ? ??limit_req?zone=one burst=5?nodelay;? ? }}
location?/ {? ??valid_referers?none?blocked?yoursite.com?*.yoursite.com;? ??if?($invalid_referer) {? ? ? ??return?403;? ? }}
文章為作者獨立觀點,不代表DLZ123立場。如有侵權,請聯系我們。( 版權為作者所有,如需轉載,請聯系作者 )
網站運營至今,離不開小伙伴們的支持。 為了給小伙伴們提供一個互相交流的平臺和資源的對接,特地開通了獨立站交流群。
群里有不少運營大神,不時會分享一些運營技巧,更有一些資源收藏愛好者不時分享一些優質的學習資料。
現在可以掃碼進群,備注【加群】。 ( 群完全免費,不廣告不賣課!)
