» »

PHP Kodiranje

PHP Kodiranje

adrian007 ::

Pozdravljeni.

Mene pa muči naslednja zadeva. Zaradi zaščite (rad bi skril) bi zakodiral vse parametre v url naslovu.

Primer: nekaj.php?id=5&action=brisi bi rad kodiral v nekaj.php?guid=2f3fasdfq4lfjxil234t2lydjfgra

Niz s katerim se kodira se naključno generira in je shranjen v sejo. To pomeni da ta ključ velja samo za trenutno sejo.
Torej če kdo spremeni v guid samo eno črko je zadeva fuč.

Imate kakšen predlog?

Brilko ::

In čemu je dobro to da jaz potem ti nemorem dati direktnega linka?

adrian007 ::

zaradi sql injectiona, ter zaradi tega, ker določeni parametri niso za javnost.

Kaj praviš?

jeti51 ::

Močno sumim, da si se reševanja varnostnih vprašanj lotil na napačen način.

Brilko ::

wtf? kako vezo ma tuki sql ijection? 8-O

adrian007 ::

kaj pa priporočaš?

Brilko ::

če sploh nevem kaj bi rad, zaka bi meu zd nek id vsak drugačen? čemu? sej nima varnostnega dostopa do user sistema...

adrian007 ::

Ja v glavo mi je prišla ideja, ki očitno ni najboljša... Torej kaj predlagate, kako izboljšati aplikacije, torej jih zaščititi?

jeti51 ::

No, se mi je kar zdelo...
SQL injection rešuješ tako, da escapaš stringe (parametre), ki jih uporabljaš za sestavljanje SQL poizvedbe oziroma uporabiš stored procedure ter te stringe pošiljaš kot parametre... pa še kakšen način je (npr. prepared queries).

Določeni parametri niso za v javnost? Kateri pa, če smem vprašat? Če te skrbi, da kdo tretji prisluškuje povezavi, uporabi SSL. Če pa te skrbi, da uporabnik ne bi slučajno videl česa v stilu ?action=delete&ID=17, se pa spet lotevaš varnosti na napačnem koncu. Raje pred izvedbo akcije v svoji PHP kodi preveri, ali uporabnik ima pravice za izvedbo določene akcije, ne pa s skrivanjem parametrov, prosim lepo...

jeti51 ::

Pa še eno vprašanje: si sploh prebral vsaj kakšen članek/manual/tutorial o varnosti v PHP-ju oziroma o varnosti spletnih aplikacij nasploh. Tega je namreč malo morje in povsod imaš opisane standardne preizkušene pristope, kako izboljšati varnost. To je kar obsežna tema in na forumu ti nihče ne bo šel vsega od a do ž podrobno razlagati. RTFM se temu reče, da dobiš neke osnove, potem pa vprašaj kakšno konkretno stvar, kjer se ti zadeva zatakne. Člankov pa seveda ne bo nihče "prepisoval" v svoje poste, če veš, kaj hočem povedati...

Zgodovina sprememb…

  • spremenil: jeti51 ()

adrian007 ::

Kaj pa so stored procedure?

adrian007 ::

Ok...

jeti51 ::

Enako velja za stored procedure. Go google! ("stored procedures") Imaš v dosti člankih napisano nekaj tudi o tem. Na kratko povedano pa so to funkcije, ki jih napišeš v sami bazi, ter jih potem iz kode kličeš podobno kot poizvedbe, le da ne pošiljaš sestavljenega queryja, ampak to pač izgleda kot klic neke funkcije v bazi. Baza pa potem podane parametre že zna sama jemati kot vrednosti parametrov in ne kot del SQL poizvedbe - ne glede na to, ali parameter vsebuje kakšne narekovaje (in druge posebne znake) ali ne. Tako možnost SQL injectiona avtomatično odpade.

adrian007 ::

fala =) bom pogledal.

sverde21 ::

za sql injection uporab addslashes() :P
<?php echo `w`; ?>


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Spletno gostovanje v oblaku - hitrost najbolj pomembna

Oddelek: Izdelava spletišč
193261 (2828) illion
»

Zaščita pred SQL injection - user?

Oddelek: Izdelava spletišč
231960 (1388) techfreak :)
»

Raziskava o ranljivosti spletnih strani z SQL bazami podatkov

Oddelek: Novice / Varnost
204924 (4260) sverde21
»

SQL injection

Oddelek: Izdelava spletišč
121962 (1760) CCfly
»

Izvorna koda mojega par dnevnega dela; ce jo malo pokomentirate :) (strani: 1 2 )

Oddelek: Programiranje
606447 (4792) Microsoft

Več podobnih tem