Autor | Zpráva | ||
---|---|---|---|
Chiron Profil |
#1 · Zasláno: 19. 9. 2018, 11:23:21
Zdravím a prosím o radu.
Mám webovku, kde je v zanořeném adresáři úsek, který chci mít přístupný pro omezený počet lidí, kteří znají přístupové heslo. Tuto věc jsem už realizoval; pomocí kryptovacího skriptu, který po zalogování generuje výsledný název souboru, který teprv pošle přihlášeného dovnitř, se tam mohou dostat jen oni. Ale zde je ten problém: jakmile tam jsou, stačí jim jen si tu stránku uložit do záložek, a pak se už mohou dostat dovnitř i bez hesla. Navíc proužek s url jim naservíruje celou cestu dovnitř. Jak nahoře, v hlavní liště a url, tak i při najetí myši na nějaký odkaz uvnitř - jeho celá url se zobrazí dole u lišty. Kdokoliv jiný, kdo počítač použije se tam po najetí záložek dostane také. Existuje nějaká možnost, jak skrýt před návštěvníkem vše, od druhé vrstvy, tedy například v proužku url bude jen www.stranka.cz bez zbytku celé tasemnice? Takže i pokud si to dá do záložek, dostane se jen na první úroveň. A to samé skrýt, i pokud si tu stránku stáhne jako html verzi - v hlavičce je většinou tag "saved from..."? A samozřejmě zobrazení celé tasemnice po najetí na odkaz. Prostě jen přes heslo. Určitě to nějak jde. Zatím jsem na webu nic k tomu nenašel. Moje úroveň je html a css. Občas si přizpůsobím i nějaké skripty z DynamicDrive. Díky předem za návrhy a odkazy. B. L. |
||
Beavis Profil |
#2 · Zasláno: 19. 9. 2018, 12:38:56
Chiron:
Generovat dynamicky název souboru není ideální, nestačilo by v dané části webu vyžadovat např. http auth? <?php if (empty($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != "login" || $_SERVER['PHP_AUTH_PW'] != "pass") { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); echo 'Please enter valid credentials'; exit; } |
||
Keeehi Profil |
#3 · Zasláno: 19. 9. 2018, 15:10:54
Chiron:
URL je vždy celá viditelná a nedá se skrývat jak by sis přál. Dokonce pokud je stránka na http a ty jsi připojen třeba v restauraci na jejich wifi bez hesla tak se k té adrese mohou dostat všichni v blízkém okolí, dále všechny routery a jiné síťové prvky mezi tebou a serverem. Prostě url není vůbec vhodná na přenášení citlivých informací. Přihlašování můžeš udělat tak jak radí Beavis pomocí http auth nebo druhá možnost je využít session. Můžeš vyjít třeba z gist.github.com/JanTvrdik/8d813cfc7a4a8e0db2c7. To je verze která pro uložení účtů využívá databázi. Dá se to ale celkem jednoduše předělat aby se ty informace braly z jiného zdroje. |
||
Časová prodleva: 5 dní
|
|||
Chiron Profil |
#4 · Zasláno: 24. 9. 2018, 14:01:55
Diky vsem za rady. Zkusim se tim prokousat. CHI
|
||
Časová prodleva: 7 dní
|
|||
ondrabus Profil |
#5 · Zasláno: 1. 10. 2018, 08:07:24
Jen pozor, že u http auth je potřeba používat https, jinak jsou přihlašovací údaje posílány po síti v plain textu.
|
||
Keeehi Profil |
#6 · Zasláno: 1. 10. 2018, 08:45:09
ondrabus:
To jsou i když použiješ session s formulářem a nepoužiješ https. Když se použije HTTP a ne HTTPS tak veškerá komunikace je nešifrovaná. |
||
Časová prodleva: 5 let
|
0