Řešili jste někdy jak zaheslovat své stránky? Aby jen ti, kteří mají heslo mohli vstoupit? POkud jste to řešili pomocí JavaScriptu nebo VBscriptu udělali jste celkem fatální chybu. Ne vtom, že zemřete, ale že odhalení správného hesla pro trochu trochu znalého uživatele bude trvat několik málo minut - tedy se stává nepoužitelným.
Proč jsou tedy JavaScripty a VBscripty tak nepoužitelné? Každý kodér HTML by to měl vědět. Porotže scripty JS a VBS jdou vidět ve zdrojovém kódu. Marné jsou snahy těch, kteří chtějí své JavaScript heslo ubránit tím, že zablokují pravé tlačítko a nacpou tam framy, čímž v Internet exploreru zamezí spuštění nového okna pro prohlídnutí zdrojáku. Ale co jako? Koho to má zajímat? Vy chcete jen to heslo. Nejlepší bude, když to budu vše demonstrovat na těchto stránkách http://mujweb.cz/zabava/mgsoft/. Autora neznám, tuto stránku jsem našel náhodně už dávno a zapamatoval jsem si ji pro tyto specifické rádoby ochrany.

Otevřte si tedy stránku http://mujweb.cz/zabava/mgsoft/ a prodívejte se do menu. Sekce Administrátor, klikněte.. Chce to po nás heslo, to chceme získat. Něco tam napište a dejte OK, přesměrovalo nás to. Co potřebujeme? POtřebujeme získat přímej odkaz na stránku s kontrolou hesla, tj. ta stránka na kterou se odkazuje v menu. Jak ten link získat? Pravy tlačítko nefunguje, zobrazení zdrojáku zobrazí jen index s framy. My potřebujeme nejrpve získat adresu souboru s menu. Tak se podíváme do zdrojáku indexu a vidíme frame name=menu src=menu.htm. Takže adresa souboru s menu je http://mujweb.cz/zabava/mgsoft/menu.htm (opravdu neodhalitelne :o). Dobře, co teď, teď si můžeme zase pohodlně zobrazit zdroják Internet Explorerem a podívat se jaká je adresa té stránky, která po nás chce heslo. Vidím odkaz na Administrátor a adresa je heslo.htm. Teď je tu problém, nemáme možnost se dostat ke zdrojovému kódu stránky jednoduchou cestou jakou je Zobraz zdrojový kód, ale vždyť si můžeme napsat program, který stáhne zdroják stránky. Takovýchto programů může existovat spousta, ale je to opravdu jednoduché a tak na konci tohoto dokumentu přikládám i zdroják pro Visual Basic. Pokud to programovat nechcete, výsledek si stáhňete zde. Do programu tedy napíšeme url stránky kterou chceme zobrazit a počkáme. Nyní byste měli vidět tento kód:


var password=prompt('Zadejte heslo');

var pass1="Smraďavka";
var pass2="Arideverchi Vitae Lolita";
var pass3="universal";

if (password==pass1 || password==pass2 || password==pass3)
{
window.location="admin.htm";
}
else
{
window.location="hlavni.htm";
}


Myslím že ktomuto kódu není potřeba žádný komentář, ale přecejen ho sem napíši. Proměnná password je rovna obsahu tabulky. Pak tu máme 3 proměnné rovnou s přiřazením a nakonec podmínka, když se zadaný text rovná alespoň s jedním ze zadaných hesel, pak otevře stránku admin.htm, pokud ne tak hlavni.htm což je hlavní stránka.
Podle toho jak chcete teď, můžete použít některé z hesel nebo si rovnou otevřít soubor admin.htm.

Co z toho všeho vyplívá? Nemá smysl dělat hesla v jazycích, které jodu normálně zobrazit. Použivejte jazyky, které provede server a ke klientovi se dostane jen výsledek - PHP, ASP,.. Samozřejmě že se dají hackovat i PHP a ASP, ale o tom až jindy.

Tady je slibovaný kód na stahování zdrojového kódu ve Visual Basicu:


Private Sub Command1_Click()
Dim txt As String
Dim b() As Byte
On Error GoTo ErrorHandler
b() = Inet1.OpenURL(adresa.Text, 1)
txt = ""
For t = 0 To UBound(b) - 1
txt = txt + Chr(b(t))
Next
kod.Text = txt
Exit Sub
ErrorHandler:
MsgBox "Stránka nebyla nalezena", vbCritical
End Sub

Private Sub Form_Load()
Inet1.Protocol = icFTP
End Sub


Doufám že jsem ten kód nikomu nesbalil