Portál technickej podpory

Ak tu nenájdete to, čo ste hľadali, neváhajte nás kontaktovať.
Potrebné informácie pre vás radi doplníme.

Chránený prístup na webovú prezentáciu – HTTP Access

V rámci našich služieb môžete využiť zaistenie chráneného prístupu na určitú časť vašej internetovej prezentácie, teda aby sa anonymný návštevník www stránok nemohol dostať do určitého adresára vašeho diskového priestoru protokolom HTTP.

Jedná sa o odoberanie práv anonymného užívateľa v rámci vašej domény na určité adresáre či súbory. Je tiež možné priradiť dalšie užívateľské mená pre chránený prístup. Zobraziť obsah stránok alebo dokumentov v tejto zložke potom bude možné až po zadaní prihlasovacích údajov v zvláštnom dialógovom okne.

Ochrana heslom je jedna z najužitočnejších funkcií súboru .htaccess. Toto je najspoľahlivejšia ochrana zo všetkých. Vytvorenie zaheslovanej zložky vyžaduje vytvorenie 2 súborov .htaccess a .htpasswd. Sú to skryté súbory, ktoré nemajú meno, ale iba extenziu (príponu). Oba súbory je možné editovať textovým editorom.

.htaccess

Najskôr pridáme do súboru .htaccess požadované príkazy a uložíme do zložky, ktorú chceme zaheslovať:

AuthUserFile /cesta/.htpasswd
AuthGroupFile /dev/null
AuthName "Názov sekcie"
AuthType Basic

require valid-user

Zde "Názov sekcie" je ľubovolný titulok zložky, ktorú si prajeme zaheslovať, napríklad "Priatelia".

Potom /cesta je absolútna cesta k súboru .htpasswd. Súbor .htpasswd môžete umiestniť do ľubovolnej zložky a ani sa nemusí nazývať .htpasswd. Z bezpečnostných dôvodov sa ale doporučuje .htpasswd umiestniť nad Vašu hlavnú zložku. To preto, aby súbor nešlo nájsť výpisom zložiek Vašej domény. Ak máte platený www priestor, na servery by pre Vás už mala byť zvláštna zložka k uloženiu citlivých údajov.

Pokiaľ nepoznáte cestu na svoju doménu, môžete spustiť PHP funkciu phpinfo(), ktorá vypíše na monitor nastavenie serveru. Vytvorte si stránku s príponou .php (napr. phpinfo.php) a do nej vložte tento kód:

<?php phpinfo () ?>

Stránku uložte na server a spusťte v prehliadači. Mali by sa zobraziť tabuľky s nastavením serveru. V tabuľke "PHP variables" by mala byť položka _SERVER["DOCUMENT_ROOT"] alebo podobná. Toto je absolútna cesta k hlavnej zložke vašej domény.

.htpasswd

Súbor .htpasswd obsahuje užívateľské mená a heslá, ktoré budú mať prístup k chránenej zložke.

Do súboru .htpasswd sa užívateľská mená a heslá pridajú v tomto formáte:

uživatel1:heslo1
uživatel2:heslo2
uživatel3:heslo3

Pre ďalšiu funkčnosť je nutné si heslá zašifrovať pomocou PHP funkciou crypt(). Tu je hotový skript, ktorý toto vykoná. Vytvorte si stránku s príponou .php (napr. sifrovak.php) a do nej vložte tento kód:

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
<title>Šifrovák</title>
</head>
<body>
<h1>Šifrovák</h1>
<form action="<?php echo $PHP_SELF ?>" method="post">
Heslo k zašifrování:
<br /><input type=text name=heslo />
<input type="submit" name="submit" value=" jdi " />
</form>
</body>
</html>

<?php
$submit = $_REQUEST['submit'];
if (isset ($submit)) {
    $heslo = $_REQUEST['heslo'];
    $zasifrovane = crypt ($heslo);
    if (crypt ($heslo, $zasifrovane) == $zasifrovane)
        echo "<br />Heslo: $heslo = <span style='background:yellow;color:black;'>$zasifrovane</span>";
    else
        echo "<br />Došlo k chybe v šifrovania.";
}
?>

Zašifrovanie musíte vykonať na svojom internetovom servery, na ktorom budete mať zaheslovanú zložku. Nemá význam to robiť na nejakom inom servery, pretože rôzne servery šifrujú rôzne. Stránku sifrovak.php uložte na server a spustite v prehliadači. Zašifrujte si jedno heslo za druhým a vždy skopírujte klipom do súboru .htpasswd.

uživatel1:zasifrovane_heslo1
uživatel2:zasifrovane_heslo2
uživatel3:zasifrovane_heslo3

Ďalších uživateľov je možné pridávať ako ďalšie riadky súboru .htpasswd.

Keď sa potom niekto pokúsi o prístup k zaheslovanej zložke, prehliadač zobrazí výzvu k vloženiu užívateľského mena a hesla. Existujú tiež serverové moduly, ktoré zobrazujú tento dialóg ako súčasť stránky. Je možné tiež odoslať užívateľské meno a heslo (nezašifrované) v URL:

http://uzivatel:heslo@www.server.sk/zlozka/