Autor Zpráva
Bukowski
Profil *
Potřebuji zaheslovat stránku, jaký je potřeba vložit skript, nebo něco obdobného?

Díky
simka00
Profil
http://www.jakpsatweb.cz/heslo.html
tpikalek
Profil *
Bez PHP to fakt nejde bezpečně zaheslovat...
Klientský scripty se dají vždycky nějak obejít.
Bukowski
Profil *
Moc tomu nerozumím.
Stranka kde bude políčko heslo ma adresu např. A.htm
stránka, která se má zobrazit po zadani hesla ma adresu např. B.htm
heslo chci např. C

Kam to mám zapsat? Dík


<form name="formular" onsubmit="return false">
Heslo: <input type="password" size="10" name="heslo">
<input type="submit" value="Pokračovat" onclick="window.location.href = 'priklady/' + document.formular.heslo.value + '.html' ">
</form>
Mistr
Profil
Bukowski
To takhle nejde. Ten princip je v tom, že ty si na stránce A uděláš formulář, jehož kód jsi napsal:

<form name="formular" onsubmit="return false"> 

Heslo: <input type="password" size="10" name="heslo">
<input type="submit" value="Pokračovat" onclick="window.location.href = 'priklady/' + document.formular.heslo.value + '.html' ">
</form>


Tohle tedy narveš do stránky a.htm. Nyní si vytvoříš stránku například b.htm a to bude ta tajná. Uživatel, který se tedy bude chtít podívat na Tvoji tajnou stránku bude muset zapsat heslo b, tedy přesně ten výraz, který je v té tajné stránce před .htm.

OK?
Bukowski
Profil *
Možná blbý dotaz, ale co se rozumí pod pojmem formulář?
Mistr
Profil
formulář
Pod pojmem formulář se rozumí to, co je ohraničeno tagy <form> a </form>. V Tvém případě tedy

<form name="formular" onsubmit="return false">
Heslo: <input type="password" size="10" name="heslo">
<input type="submit" value="Pokračovat" onclick="window.location.href = 'priklady/' + document.formular.heslo.value + '.html' ">
</form>
Mistr
Profil
Možná blbý dotaz
Není to blbý dotaz, klidně se ptej dál. Pokud budu vědět, rád Ti odpovím.
Tomik
Profil
Bukowski
Ještě dopolním Mistra, že pokud uživatel zadá jiné než požadované heslo, zobrazí se mu že stránka nebyla nalezena, což je zde možná žádoucí, možná ne.
Jinak to nebude fungovat bez zaplého javascriptu, takže IMHO je opravdu jistější serverová verze, např. pomocí PHP, ale pokud člověk nemá jinou možnost (tj. nemá na hostingu podporu PHP), je výše popsané řešení snad jediné, je však potřeba dávat pozor na to, aby na danou "tajnou" stránku nevedly od nikud odkazy, protože pak by ji dříve nebo později zaindexoval vyhledávač a už by příliš tajná nebyla.
Mistr
Profil
nebude fungovat bez zaplého javascriptu
Zas Tě ale, Bukowski, můžu uklidnit, že většina lidí JavaScript zapnutý má. Nicméně s poznámkami kolegy Tomika souhlasím.
Bukowski
Profil *
Díky za rady, hlava už mně dnes nějak nebere. Jdu do betle.

Zítra to vyzkouším, případně pošlu ještě dotaz.

Zdarec
Mistr
Profil
Tvé stránky například můžou vypadat takto:
stránka a.htm:

<html>

<head>
<title>Stránka A</title>
</head>
<body>
<form name="formular" onsubmit="return false">
Heslo: <input type="password" size="10" name="heslo">
<input type="submit" value="Pokračovat" onclick="window.location.href = 'priklady/' + document.formular.heslo.value + '.htm' ">
</form>
</body>
</html>


stránka b.htm následně:
<html>

<head>
<title>Stránka B</title>
</head>
<body>
<p>Vítej na tajné stránce.</p>
</body>
</html>


Návštěvník se dostane na stránku a.htm. Na ní je vyzván k zadání hesla, aby si mohl prohlédnout stránku b.htm. Pokud zadá jiné heslo než b, žádná stránka se mu nezobrazí. Proč to heslo je zrovna b je popsáno v jednom z mých příspěvků výše.

Samozřejmě, že kód stránky by mohl být košatější (například chybí definice kódování apod.), ovšem to v tuto chvíli pro výklad nebylo vůbec podstatné.
Bukowski
Profil *
No dobře, a kde zadám adresu stránky na kterou odkazuji, a kde nadefinuji a nastavím heslo?
lumpy
Profil
to heslo je vlastne názov tej tajnej stránky-to heslo nemôže byť v zdrojovom kóde-potom by si to mohol každý pozrieť
Mistr
Profil
Bukowski
Přesně tak, jak píše lumpy. Princip je v tom, že do toho formuláře na stránce a.htm zadáš heslo (v našem případě b) a ten JavaScriptový program k tomu zadanému heslu připojí na konec ".htm" a stránku (v našem případě b.htm) otevře.

Je to tak již srozumitelné?
lumpy
Profil
Mne neni zrozumiteľná jedna vec-keď by som dal ako heslo názov inej stránky-povedzme stránky C, tak to nebude fungovať-neviete prečo???
Mistr
Profil
lumpy
keď by som dal ako heslo názov inej stránky-povedzme stránky C, tak to nebude fungovať-neviete prečo???
Vieme prečo. Promiň. Protože prohlížeč se bude snažit otevřít stránku c.htm. Tu nenajde a tak napíše, že stránka neexistuje.
nofate
Profil
Tak tuto temu som pochopil bezvadne. Aj som to skusal a ide mi to
(samozrejme ine nazvy stranok a heslo - ale princip ten isty).
Len sa neda ten kod pozmenit tak, aby po zadani zleho hesla sa otvorila stranka (alebo pop-up window) s oznamenim ze heslo je nespravne???
Cize ak je heslo ok, tak sa otvori b.htm ale ak je zle tak sa otvori d.htm
Nedalo by sa to zrealizovat principom if a else
OBr
Profil
Tento script obashuje chyby. Viz následujicí příspěvky
<input type="password" id="heslo">

<input type="submit" id="posli" value="Ověř heslo">
<img src="" id="overovac" width="0" height="0" alt="Ověřovač obrázku">
<script type="text/javascript">
function over()
{
document.getElementById("overovac").src="hesla/"+document.getElementB yId("heslo").value+".gif";
document.getElementById("overovac").onload=new Function("window.location='./';");
document.getElementById("overovac").onerror=new Function("alert(\"Spatne heslo\");");
}
document.getElementById("posli").onclick=new Function("over();");
</script>

Do adresáře hesla nahraj třeba obázek pokus.gif. Heslo pak bude pokus (jméno obrázku bez přípony)
nofate
Profil
Myslienka to je dobra, ten zdrojovy kod ma zmysel. Az na to ze to nefunguje. Ulozil som ten kod ako subor typu html, vytvoril som adresar hesla a v nom subor pokus.gif. Nefungovalo to vobec a ked som skusal to opravit tak sa zobrazoval na stranke cely strom adresara, v ktorom je vsetko ulozene... a to nezavisle pri hocijakom aj nijakom hesle...
nofate
Profil
Chyba je v riadku (line) cislo 7:
document.getElementById("overovac").src="hesla/"+document.getElementB yId("heslo").value+".gif";

- medzi ElementB a yId je medzera, ktora tam nema byt. Ked ju odstranim tak to potom funguje uplne spatne - ved skuste a uvidite.... Ak sa Vam to nechce vytvarat tak vsetko potrebne je tu
OBr
Profil
Za tu chybu s getElementById se omlouvam. Co myslíte tím "funguje uplne spatne"? Co to dělá / nedělá? Všiml jsem si že jsem uvedl jméno tajného souboru, tak jsem to opravil.

Heslo je správné pokud uživatel zadá jméno obrázku (bez přípony) z adresáře hesla. Při správném hesle načte stránku z "heslo/___zadaná heslo___.htm"

<input type="password" id="heslo">

<input type="submit" id="posli" value="Ověř heslo">
<img src="" id="overovac" width="0" height="0" alt="Ověřovač obrázku">
<script type="text/javascript">
function over()
{
tvojeheslo=document.getElementById('heslo').value;
document.getElementById("overovac").src="hesla/"+tvojeheslo+".gif";
document.getElementById("overovac").onload=new Function("window.location='hesla/'+tvojeheslo+'.htm';");
document.getElementById("overovac").onerror=new Function("alert(\"Spatne heslo\");");
}
document.getElementById("posli").onclick=new Function("over();");
</script>

Hmm, nějak mi to rozděluje slova. Snad už je to ok.
nofate
Profil
Uz to funguje, ale kdyz zadam nespravne heslo, tak nabehne 404 - stranka nabyla najdena, misto toho upozorneni alert: Spatne heslo.
Cize ignoruje tento riadok (line):
document.getElementById("overovac").onerror=new Function("alert(\"Spatne heslo\");");

Vyskouset, ze co to dela mozes kdys stahnes toto
Diky ze se tomu venujes
OBr
Profil
A jaká je adresa té chybné stránky? Mě to totiž funguje (testováno v IE6, FF1.5, Opera 8.51)
nofate
Profil
Zaujimave ze v PC z disku mi to nefungovalo, ale ked som to natiahol na net tak to ide. Lenze ked zadam spravne heslo, tak se otvori tajni stranka (to je ok) ale predtym zobrazi ten alert skript: "Spatne heslo" a po kliknuti na "ok" sa otvori tajna stranka. Nejde to poopravit nejak?
Tu je ta adresa na internetu: zaheslovani-tajne-stranky.html - skus to (heslo je "pokus")
nofate
Profil
Uvedeni na spravnou miru:
OPERA 8.0 alert "Spatne heslo" zobrazi aj po zadani spravneho hesla.
IE 6 - funguje to ok

*THANKS TO OBr
OBr
Profil
Při spuštění z disku se onerror (oznámení o nenačtení obrázku/chybnosti hesla) nikdy neprovede. Ale při správném hesle se mi zobrazí rovnou http://www.4b-gymnazium.webzdarma.cz/hesla/pokus.htm alert mi nevyskočí. Nedomluvíme se po ICQ (62075570)? Pak bych shrnul v čem byl problém, jestli na to příjdeme.

Koukám že na webzdarma posílá špatnou hlavičku pro chybnou stránku, v tom bude asi problém.
jirka26
Profil
ahoj všichni,muže mi někdo poradit se zaheslováním uržité částí stránky?třeba chci zaheslovat forum a chci aby byla nutná registrace,jako je to tady,ale nevím jak se to udělá,aby jsem napsal do formuláře mnou vybraný login a heslo a muhl jsem vstoupit na forum,jinak forum jsem si zahesloval javascriptem
nofate
Profil
Takze diky OBr zaheslovanie stranky je uz vyriesene. Vratane error 403 a 404 ktore su vyriesene pomocou .htaccess
Konečný výsledok tu - heslo "pokus"
Alebo aj tu - tu vam heslo uz nedam ;-)
krteczek
Profil
lidi proč se tady trápíte s javascriptem???
na stránce: http://www.jaknato.com/index.php?clanek=jak-zaheslovat-stranku-pomoci- php uvádím návod a je tam i odkaz na ukázku funkčního řešení.
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0