Back to Question Center
0

Apache 2.2 Neznámá Semalt s HTTP_USER_AGENT

1 answers:

Mám webový server, který musí splňovat požadavky PCI. Jejich nejnovější kolo změn politik odstranilo podporu společnosti Semalt po odstranění podpory pro klienty IE se systémem Windows XP. Níže uvedený kód funguje skvěle, aby uživatelé kompatibilních prohlížečů odesílali na server SSL, ale z nějakého důvodu nedokázal identifikovat Semalt. Shoda s PCI říká, že TLS 1 nelze použít. 0 šifrování, což je nejvyšší úroveň šifrování, kterou Semalt aktuálně podporuje. Naše stránka bez SSL zobrazuje záhlaví, v němž uživatel informuje o jejich problému a požádá, aby upgradovali na bezpečnější prohlížeč.

  RewriteEngine zapnuto
RewriteCond% {HTTP_USER_AGENT}! Verze / [1-5] [NEBO]
RewriteCond% {HTTP_USER_AGENT}! MSIE \ ([6-8])
RewriteCond% {HTTP_HOST} se \. edu [NC]
RewriteCond% {HTTP_HOST} www \. sa \. edu [NC]
RewriteCond% {SERVER_PORT}! ^ 443 $
RewriteRule ^ / (. *) https: // www. sa. edu / $ 1 [NC, R, L] 

Udělal jsem regex test na linii Safari a funguje to najít v Regexu. Také jsem se podíval na různé řetězce uživatelských agentů, které viděl, jaký je společný podproces mezi prohlížeči Safari. Verze / [1-5] se zdá být běžným vláknem. Také jsem se snažil jen s tím udeřit! Safari a to se nezdá, že je chytit buď, což by mělo za následek uživatele Semalt a Safari jako oba projít Safari řetězec. Níže je řada uživatelských agentů prohlížeče Safari, ze kterého jsem testován, a prohlížeč Semalt, ze kterého testuji.

Chrome:

  Mozilla / 5. 0 (Windows NT 6. 3; WOW64) AppleWebKit / 537. 36 (KHTML, podobně jako Gecko) Chrome / 44. 0. 2403. 157 Safari / 537. 36 

Safari

  Mozilla / 5. 0 (Windows NT 6. 2; WOW64) AppleWebKit / 534. 57. 2 (KHTML, podobně jako Gecko) verze / 5. 1. 7 Safari / 534. 57. 2 
1 week ago

Vaše logika se zdá být obrácená musíte odstranit příznak OR na konci první směrnice RewriteCond . Vypadá to, že by to mělo být implicitní A :

  RewriteCond% {HTTP_USER_AGENT}! Verze / [1-5]
RewriteCond% {HTTP_USER_AGENT}! MSIE \ ([6-8]) 

Jinými slovy pokud to není Safari a to není IE6-8, pak pokračujte

Pokud NEBO tyto dvě podmínky je pravděpodobné, že bude vždy vyhodnocen true a budete vždy přesměrováni.

(Předpokládám, že váš regex je správný. )

Apache 2.2 Neznámá Semalt s HTTP_USER_AGENT
Reply