Domov arrow 6. VARNOST arrow 6.3 Varnost spletnega mesta arrow 6.3.1 Lažni obrazci (ang. spoofed forms)


6.3.1 Lažni obrazci (ang. spoofed forms) Natisni E-pošta
Pogosta metoda napadalcev je uporaba lažnih obrazcev. Najlažji način ustvarjanja lažnih obrazcev je enostavno kopiranje obstoječih obrazcev in izvajanje obrazca od drugje. Sleparjenje obrazcev omogoča napadalcu odstranitev vseh omejitev na strani odjemalca postavljene na obrazec. Primer obrazca:

<form method="POST" action="obdelaj.php">
<p>Ulica: <input type="text" name="ulica" maxlength="100" /></p>
<p>Mesto: <input type="text" name="mesto" maxlength="50" /></p>
<p>Država:
<select name="drzava">
<option value="">Izberite državo...</option>
<option value="SI">Slovenija</option>
<option value="IT">Italija</option>
<option value="HR">Hrvaška</option>
</select></p>
<p><input type="submit" /></p>
</form>

Ta obrazec uporablja atribut maxlength za omejitev dolžine vsebine, ki je vnešena v tekstovno polje. Lahko bi se dodalo tudi kakšno JavaScript preverjanje, ki bi preverjalo te omejitve pred pošiljanjem obrazca izvajajoči skripti. Polje select v tem primeru vsebuje določen seznam vrednosti, kot je definirano v obrazcu.
Možno je napraviti kopijo tega obrazca na drugem mestu in ga spremeniti, da za izvajajočo skripto uporabi absoluten URL. Primer spremenjenega obrazca:

<form method="POST" action="http://primer.si/obdelaj.php">
<p>Ulica: <input type="text" name="ulica" /></p>
<p>Mesto: <input type="text" name="mesto" /></p>
<p>Država: <input type="text" name="drzava" /></p>
<p><input type="submit" /></p>
</form>

V tej različici obrazca so bile vse omejitve na strani odjemalca odstranjene in uporabnik lahko vnese katerikoli podatke, ki bodo nato poslani izvirnemu izvršitvenemu skriptu za ta obrazec.
Na tak način je zelo lahko preslepiti obrazec in pred tem se je nemogoče ubraniti. Zato je potrebno filtrirati vnos in s tem zagotoviti, da vsi podatki ustrezajo seznamu dovoljenih vrednosti. Tudi lažni obrazci ne morejo mimo teh filtrirnih pravil na strani strežnika.
 


© 2007-2008 PHP, MySQL, XML, OOP, varnost