Autor Zpráva
vojja01
Profil *
Dobrý den, potřebuji zaheslovat stránky a zkoušel jsem do funkce jsem dekladoval, aby se mi při zadání zprávného hesla objevila stránka (display: block) a zmizel <div> z heslem.
Stránka:
<head>
<script type="text/javascript">
   funcion kontrolaFormu(id)
   {
   if (document.getElementById(id).value= "kuncicek") {
   document.getElementById("page").style.display= "block"
   }
   else {
   document.getElementById("page").style.display= "none"; document.getElementById("page").style.display= "none" 
   }
   }
</script>
<style>
#page {display: none;}
</style>
<body>
<div id="login">
 <form name="formular" id="form" onsubmit="return false" style="border: 5px inset red; margin: 5px; padding: 10px;">Heslo:
 <input type="password" size="10" name="heslo" id="input">
 <input type="submit" value="Pokračovat" onclick="kontrolaFormu('input')">
 </form>
</div>
<div id="page">
Ta stránka na heslo
</div>
</body>
Budu vděčný za jakýkoli poznatek, ale nechci jiná řešení, jedno v záloze mám. Děkuji všem předem ;)
ShiraNai7
Profil
vojja01:
Budu vděčný za jakýkoli poznatek

Třeba že efektivita "zaheslování" tímto stylem je 0? Heslo buď vyčtu z kódu nebo si napíšu do adresy:
javascript:document.getElementById('page').style.display='block';
a heslo ani nepotřebuju.

Zaheslování proveď pomocí jednoduchého PHP skriptu nebo třeba .htaccess. Google.
peta
Profil
var a,b,c;
a = document.getElementById(id);
b = document.getElementById("page");
c = document.getElementById("login");
if (a.value=="kuncicek")
  {
  b.style.display = '';
  c.style.display = 'none';
  }
else
  {
  b.style.display = 'none';
  c.style.display = '';
  }

Mas tam asi chybne porovnavani.
if (a.value==="kuncicek") // porovnej a.value s textem a soucasne typeof(a.value)==typeof("kuncicek")
if (a.value=="kuncicek") // porovnej a.value s textem
if (a.value="kuncicek") // uloz do a.value text a jestli se operace zdarila je vysledek true

ShiraNai7:
nebo zakazi css
nebo zakazi javascript a stranku znova nactu
Neni to dulezite, kdyz jine reseni nechce.
vojja01
Profil *
Jó, děkuji mockrát. Mimochodem, ty stránky dělám pro třídu, kde nikdo nic neumí, takže se bát nemusím (přesně tyhle poznámky jsem nechtěl...).
_es
Profil
vojja01:
Mimochodem, ty stránky dělám pro třídu, kde nikdo nic neumí
V niektorých prehliadačoch ide jednoducho vypnúť CSS - na to netreba nič vedieť.
peta
Profil
_es: To snad jde ve vsech, ne? Aspon v tech, co mam, to je.
FF - zobrazeni - styl stranky - bez stylu
IE - zobrazit - styl - bez stylu
margin
Profil *
pete, pochopitelně, že CSS jde vypnout ve všech prohlížečích, ale _es psal, že „ide jednoducho vypnúť CSS“, čímč myslel postup, který zvládne i necvičená opice.

Pro zajímavost, ve svém oblíbeném prohlížeči můžu CSS vypnout jedním kliknutím myši, ale nejde o výchozí nastavení, tlačítka na lištách jsem přizpůsobil svým potřebám.
peta
Profil
Dva kliky ti prijde jako slozitejsi nez jeden u tebe?
Ja mam web-develop tools, tam je to tez dva kliky.
vojja01
Profil *
To vím, blbý nejsem, ale chtěl jsem pomoct. Ne se tu tlachat o tom, k čemu to bude.
DarkMeni
Profil
Když vymyslíš nějaký dobrý šifrovací algoritmus s možností dešifrovat podle hesla, tak můžeš stránku načíst zašifrovanou a po načtení javascriptu tam někam vložit pole pro heslo a jeho odeslání (a tu směs zašifrovaných znaků třeba schovat - i když si to někdo zobrazí (přepíše css pravidla), tak uvidí jen nějaký znaky - dokud nezadá správné heslo a dešifrovací algoritmus mu to nepřepíše do správné podoby). Není to sice tak efektivní jako kontrola hesla ještě na straně serveru - kde do zdrojáku nikdo nevidí, ale o něco víc zabezpečený než schování obsahu pomocí css (a taky složitější no). S tím že heslo tam nikde nebude - správnost hesla by se poznala jen podle správně zobrazený stránky.

Ale když je to pro někoho, kdo neví jak si zobrazit zdrojový kód, tak stačí to tvoje první řešení.
vojja01
Profil *
DarkMeni:
Který právě nefunguje :DD
DarkMeni
Profil
/*5. řádek*/ if (document.getElementById(id).value== "kuncicek") {
Jestli si to nezměnil tak pak neporovnáváš ale nastavuješ, na porovnání je operátor == (na striktní porovnání ===) / jak psal peta
vojja01
Profil *
Stejně to nejede :-/ Ale děkuji za připomínku.
_es
Profil
vojja01:
chtěl jsem pomoct. Ne se tu tlachat o tom, k čemu to bude.
To ti nevadí vyrobiť prístup na heslo, ktoré každý ľahko obíde a ešte k tomu aj na jeden či pár klikov vo všetkých prehliadačoch, bez akýchkoľvek znalostí o HTML či JS?
DarkMeni:
Môže vymýšľať šifrovanie aké chce, pokiaľ to bude len na strane prehliadača, tak sa to bude dať ľahko obísť.
vojja01
Profil *
_es:
Ale kdo by to proboha věděl že to je jen skryté? Koho by to zajímalo?
Chamurappi
Profil
Reaguji na vojju01:
Stejně to nejede :-/
Třeba děláš chybu ještě v něčem dalším, co v uvedeném kódu nevyčteme. Dodej živou ukázku.

Koho by to zajímalo?
Kohokoliv, kdo se chce dostat skrz kontrolu hesla.
Ještě jednu věc tu kolegové nezmínili: Zaindexují-li stránku vyhledávače, bude dohledatelná i na pojmy z té tajné části. Člověk ani nepotřebuje koukat do zdrojáku, postačí mu napsat správné slovo do Seznamu nebo Googlu.
vojja01
Profil *
Vyhledávače jsem zakázal ;) Ta stránka je tady:plesk.own.cz/plesk.html
Chamurappi
Profil
Reaguji na vojju01:
Oprav si funcion
vojja01
Profil *
JÓÓÓÓÓ!!!!!!! Jede tó :DDDDD Děkuji mnohokrát. Týden se tu s tím dlabám a ono je to kvůli blbému písmenku... Ještě jednou děkuji (i peta, to mi taky hodně pomohlo:).
peta
Profil
vojja01: Pri ladeni javascriptu je dobe ve ff si otevrit js konzolu. (Nasroje - vyvoj webu - chybova konzola). Pak stranku obnovis a ono ti to tam vypise prave takove chyby jako "funcion". To rovnitko by ti tam nevypsala, protoze ten zapis je spravne. Jen dela neco jineho nez jsi chtel.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: