rewrite, apache, https
9 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
zdravim, řešíme problém s IE7, jako jediný prohlížeč nám odmítá zobrazovat soubory pdf, doc a xls, zkrátka, které sám neotevírá, ale používá externí apliaci. Toto se ovšem vyskytuje jen v případě mod_rewritu, které používáme před uživateli, které znají přímou cestu, ale už nemají práva se příhlásit ... skript posílá nasledující hlavičky if (isset($mimetypes[$ext])) { header("Content-Type: {$mimetypes[$ext]}"); } $flen = filesize("{$url}data/{$client}/{$folder}/{$file}"); header("Content-Length: " . $flen); header("Content-disposition: inline; filename="{$file}""); readfile("{$url}data/{$client}/{$folder}/{$file}"); nemáte někdo s tímto zkušenost ... díky za jakékoli info.
-
Teď jsem to moc nepochopil. Proč titulek " rewrite, apache, https"? To běží skrz HTTPS? "Toto se ovšem vyskytuje jen v případě mod_rewritu, které používáme před uživateli, které znají přímou cestu, ale už nemají práva se příhlásit" nechápu :P A co že to vlastně má dělat?
-
>To běží skrz HTTPS? Ano, veškerou komunikaci s http jsem přesměrovali na https v naší aplikaci je adresář "data" v něm jsou soubory ke klientům, pdf, doc, jpg, tif atd. nyní zde máme nějakých 150 uživatelů a občas se stane, že se s někým nedohodneme a deaktivujeme mu účet, jenže on když byl příhlášený, má možnost tyto přílohy ke klientům prohlížet a vidí pak v prohlížeci https://naseaplikace/data/klient/soubor.?, aby se zabranilo, aby toto provedl kdyz neni prihlaseny (popr. ma zakazany pristup) je tam .htaccess pravidlo RewriteEngine On RewriteRule (.*)/(.*)/(.*)$ ./index.php?client=$1&folder=$2&file=$3 [L] (obsah index.php je v první příspěvku) pokud toto pravidlo vyhodim, tak je vše v pořádku, ale pokud ho mam aktivni, tak IE7 mi ty soubory nezobrazi, pokud se je snazi otevrit v externi aplikaci (pdf, doc, xls)
-
ma to zkráta znemožnit přístup do toho adresáře data, když není uživatel příhlášený k aplikaci, to je celé
-
Tak zkus upravit skript tak, aby soubor vzdy stahoval bez ohledu na pozadavek prohlizece (otevreni externi aplikace). Myslim, ze staci jen header ("Content-Type: application/octet-stream");
-
A to řešíš takhle? Napadá mě: .htaccess :: deny from all - zakázat přístup do adresáře se soubory zvenčí. PHP: jednoduchá podmínka: if($user_allow == true) download($_GET['file']); else Header('HTTP/1.1 403 Forbidden'); // pokud není uživatel zablokován, stáhnout mu soubor, jinak chybu 403 A ty tvé hlavičky upravit tak, aby obsah vždy stahovaly (viz Tomík)
-
ano taky by šlo to natvrdo stahovat, ale uživatele jsou tu rozmazlení a chtěji aby se jim to otevřelo v okně IEshitu :-)
-
Jirka: "ale uživatele jsou tu rozmazlení" Je na čase, aby si zvykali na tvrdý režim ;)
-
tak vyřešeno, navíc posílám pragma: cache cache-control: cache a ono to najednou jde, apache v tomto případě sám posílal pragma: no-cache, cache-control: no ... :-)