Söömine Indoneesias Yogyakartas McDonaldsis

Olen näinud palju vastuseid, kuid kõik mainivad kasutajaagendi muutmist regex-vormingusse. Ma ei tea, kuidas seda teha. Aidake mul luua htaccess-reeglid allolevate kasutajaagentide blokeerimiseks. Igaüks saab mind selle probleemiga aidata. Siin on kasutajaagendid, mida tahan blokeerida.

Mozilla / 5.0 (Windows NT 6.2; WOW64) AppleWebKit / 537.36 (KHTML, nagu Gecko) Chrome / 27.0.1453.94 Safari / 537.36

Mozilla / 5.0 (PlayBook; U; RIM Tablet OS 2.1.0; et-USA) AppleWebKit / 536.2 + (KHTML, nagu Gecko) versioon / 7.2.1.0 Safari / 536.2 +

Mozilla / 5.0 (Windows; U; Windows NT 6.1; et-USA) AppleWebKit / 533.20.25 (KHTML, nagu Gecko) Versioon / 5.0.4 Safari / 533.20.27

Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit / 537.36 (KHTML, nagu Gecko) Chrome / 27.0.1453.93 Safari / 537.36

Opera / 9.80 (Windows NT 6.1; WOW64; U; et) Presto / 2.10.229 versioon / 11.62

Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit / 537.36 (KHTML, nagu Gecko) Chrome / 27.0.1453.93 Safari / 537.36

Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_6_6; et-USA) AppleWebKit / 533.20.25 (KHTML, nagu Gecko) Versioon / 5.0.4 Safari / 533.20.27

Opera / 9.80 (Macintosh; Intel Mac OS X 10.6.8; U; et) Presto / 2.9.168 Versioon / 11.52

Mozilla / 5.0 (ühilduv; WOW64; MSIE 10.0; Windows NT 6.2)

Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_6_6; et-USA) AppleWebKit / 533.20.25 (KHTML, nagu Gecko) Versioon / 5.0.4 Safari / 533.20.27

Mozilla / 5.0 (Windows; U; Windows NT 6.1; et-USA) AppleWebKit / 533.20.25 (KHTML, nagu Gecko) Versioon / 5.0.4 Safari / 533.20.27 | Mozilla / 5.0 (ühilduv; WOW64; MSIE 10.0; Windows NT 6.2)

Mozilla / 5.0 (Linux; Android 4.0.4; Galaxy Nexus Build / IMM76B) AppleWebKit / 535.19 (KHTML, nagu Gecko) Chrome / 18.0.1025.133 Mobile Safari / 535.19

Mozilla / 5.0 (Windows NT 6.2; WOW64; rv: 21.0) Gecko / 20100101 Firefox / 21.0

Mozilla / 5.0 (MeeGo; NokiaN9) AppleWebKit / 534.13 (KHTML, nagu Gecko) NokiaBrowser / 8.5.0 Mobile Safari / 534.13

Mozilla / 4.0 (Windows; MSIE 6.0; Windows NT 5.2) | Opera / 9.80 (Macintosh; Intel Mac OS X 10.6.8; U; et) Presto / 2.9.168 versioon / 11.52

Opera / 9.80 (Windows NT 6.1; WOW64; U; et) Presto / 2.10.229 versioon / 11.62

Mozilla / 5.0 (PlayBook; U; RIM Tablet OS 2.1.0; et-USA) AppleWebKit / 536.2 + (KHTML, nagu Gecko) versioon / 7.2.1.0 Safari / 536.2 +

Mozilla / 5.0 (Windows NT 6.2; WOW64) AppleWebKit / 537.36 (KHTML, nagu Gecko) Chrome / 27.0.1453.94 Safari / 537.36

Mozilla / 5.0 (Android; Mobile; rv: 14.0) Gecko / 14.0 Firefox / 14.0

  • @JohnConde - ma ei saa aru, kuidas see "ühele veebisaidile omane" on? Siinseid põhimõtteid (ja minu vastuses selgitatud) võiks rakendada mis tahes veebisaidil mitmete erinevate ülesannete jaoks.
  • Sest nad küsisid selgesõnaliselt, kuidas neid konkreetseid kasutajaagente blokeerida. See puudutaks ainult nende väga spetsiifilisi vajadusi.
  • Võib-olla võiksid nad selle ümber sõnastada, et küsida, kuidas teisendada kasutajaagentide loend regulaarseks avaldiseks

Kui soovite sobitada spetsiifiline user-agent stringid, siis pole vaja kasutada regexi (tegelikult soovitaksin regexi mitte kasutada, kui soovite täpset vastet). Mod_rewrite'i abil = CondPattern operaator võimaldab teil määrata leksikograafilise stringi võrdluse, st. täpne vaste.

Näiteks:

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} '=Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36' [OR] RewriteCond %{HTTP_USER_AGENT} '=Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+' [OR] # etc... RewriteCond %{HTTP_USER_AGENT} '=Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0' RewriteRule ^ - [F] 

Ülaltoodud teenib 403 keelatud, kui mõni taotlus on esitatud mõnelt nimetatud kasutajaagendi stringilt. Pange tähele, et on olemas OR lipp iga lõpus RewriteCond direktiiv - välja arvatud viimane. Tähtis: ärge lisage OR lipp viimasel tingimusel, muidu kogu liiklus blokeeritakse.

Peate tervikuna ümbritsema CondPattern (2. argument RewriteCond direktiiv) topelt jutumärkides ('..'), kui sobitatav string sisaldab tühikud (mida need kasutajaagendi stringid teevad). Seda seetõttu, et ruumi on Apache'i konfiguratsioonifailide argumentide eraldaja.

Regexi süntaksi õppimine (vähemalt põhi) tasub siiski ära. Näiteks üks regex Chrome/[12] blokeeriks kõik 6 ülaltoodud Chrome'i kasutajaagenti (ja kõik tulevased variatsioonid). Üks seisund kuue asemel.

RewriteCond %{HTTP_USER_AGENT} Chrome/[12] 

Viide:

  • https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

none: Charles Robertson | none

none