Nejste přihlášeni
Zdravíčko,
jelikož mám pro osobní účely na webu malý img hosting, snažím se přijít na způsob jakým omezit přístup ke stěžejním souborům uploadu přes .htaccess a .htpasswd, ale narazil jsem na "menší" problém ...
AuthType Basic
AuthName "Tato stranka neni verejne pristupna"
AuthUserFile /home/users/safiyani/safiyani.cz/sub/.htpasswd
<Files index.php>
require valid-user
</Files>
<Files upload.php>
require valid-user
</Files>
Mi vyhazuje 500 internal server error a když ho přepíšu:
<Files index.php>
AuthType Basic
AuthName "Tato stranka neni verejne pristupna"
AuthUserFile /home/users/safiyani/safiyani.cz/sub/.htpasswd
require valid-user
</Files>
<Files upload.php>
AuthType Basic
AuthName "Tato stranka neni verejne pristupna"
AuthUserFile /home/users/safiyani/safiyani.cz/sub/.htpasswd
require valid-user
</Files>
tak stránka funguje, ale jelikož se neobjeví žádný dialog k zadání jména a hesla, tak se k těm dvěma souborům nedostanu ani já sám (chyba 401).
Poradil by mi někdo, co s tím?
Offline
Ochranu máte pre presne definované súbory, tj za adresu vašej stránky musíte dopísať i /index.php - následne sa prihlasovací formulár zobrazí, bez zadania súboru za lomítkom dostanete chybovú hlášku 401.
Offline
Myslel jsem si, že pokud se bude stránka snažit o přístup k těm dvěma souborům, tak si o login řekne sama hned při první návštěvě, jelikož je chráněný index.
Jsem trošku zklamaný, ale použitelné to je a já Vám děkuji za odpověď.
Offline
Nevidim duvod, proc nepouzit stejny kod jako v tomto pripade
https://podpora.endora.cz/viewtopic.php?id=10891
.htaccess
SetEnvIfNoCase Authorization "Basic ([a-z0-9=]+)" REMOTE_AUTHORIZATION=$1
index.php / upload.php
<?php
if (isset($_SERVER["REDIRECT_REMOTE_AUTHORIZATION"]) && $_SERVER["REDIRECT_REMOTE_AUTHORIZATION"] != '') {
$d = base64_decode($_SERVER["REDIRECT_REMOTE_AUTHORIZATION"]);
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $d);
}
$usr = isset($_SERVER['PHP_AUTH_USER'])?$_SERVER['PHP_AUTH_USER']:'';
$pwd = isset($_SERVER['PHP_AUTH_PW'])?$_SERVER['PHP_AUTH_PW']:'';
if (($usr != 'pepa') || ($pwd != 'heslo')) { // nepouziva se .htpasswd
header('WWW-authenticate: Basic realm="Overeni uzivatele"');
header("HTTP/1.0 401 Unauthorized");
exit();
}
echo "Jsme autentikovani...."
W3C validator | Performance tools | Stavové kódy HTTP | Fiddle | Codepen | Ideone | XAMPP
Offline