Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jedno sigurnosno i jedno brzinsko pitanje.

[es] :: PHP :: Jedno sigurnosno i jedno brzinsko pitanje.

[ Pregleda: 1362 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 09:39 - pre 182 meseci
Prvo pitanje:
Moram da inkludujem par stranica. Ako kod napisem ovako:

Code:
include "$theme/form_deafult.php";


znam da postoji opasnost od hakovanja.
A da li je moguce hakovati skriptu ako kod napisem ovako:

Code:
include "tpl/$theme/form_deafult.php";
?

I ako je moguce kako da se zastitim (jedino sto mi pada na pamet je da izvadim iz baze sve dozvoljene vrednosti za $theme varijablu pa da proverim da li je $theme==$theme_allowed pre include-a(ali to mi se ne radi zbog pitanja br2:) ))

Drugo pitanje:
Da li je normalno da mi se skripta izvrsava 0.02xxxxx sec? Imam 3 if-a i 5 query-ja. nekako mi se cini da je ovo previse dugo vremena. Skriptu testiram kod mene na kompu (localhost, php verzija 5.2.6).

I jedno pitanjce(ne zasluzuje mesto u imenu teme):
Da li je moguce otkriti ime postovane varijable? Trebalo bi da jeste posto mozilla upozorava da ce ako osvezimo stranicu post data opet biti postovano(al srocih ovo svaka mi cast :) ). Znaci da je moguce otkriti varijablu koja se postuje cim browser zna za nju. Onda da se ispravim pitanje glasi kako otkriti ime varijable koja se postuje?

Pozdrav i hvala
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 11:52 - pre 182 meseci
Što se tiče ovo prvog pitanja, naravno da je moguća opasnost od hack-ovanja, npr. neko samo doda u URL-u parametar ?theme=1, i nastaju problemi. Ali to važi samo ako je register_globals podešeno na On, i shodno tome, najbolja zaštita je da tu opciju isključiš u php.ini fajlu. A dugi način zaštite je naravno OBAVEZNA inicijalizacija promenljivih, npr. u tvom slučaju:
Code:

$theme = '';

//dohvatanje izabrane teme

include "$theme/form_deafult.php";

Za drugo pitanje, možda je dobro da vidimo i kod te skripte, da bi mogli da komentarišemo o performansama... Ali svejedno, mislim da je to vreme izvršavanja ok.

A ovo treće pitanje nisam baš najbolje razumeo... :S
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:07 - pre 182 meseci
Pa sad kod mi se ne daje ako ne moram (u pitanju je cudo nevidjeno :D(to nije skripta, to je avion :D)):) Kad je zavrsim okacicu je negde i testirati vreme pa cete mi reci sta mislite (nadam se ;) ).

Taj tvoj kod nisam razumeo. Sta je tu zasticeno? Tj kako? Znaci ovaj kod je siguran:

Code:

$dataS= mysql_fetch_row(mysql_query("SELECT * FROM blabla WHERE bla='$bla'")) or die;

$theme    = $dataS['8'];

//header
include "tpl/$theme/header_deafult.php";
?

U stvari mislim da razumem delimicno. Sigurno je zato sto je setovana varijabla $theme, pa ako ju je haker poslao preko svog forma vrednost njegove varijable ce biti prepisana. Je li tako? Izvinjavam se ako postavljam glupa pitanja :).

Jos jedno glupo pitanje: Zasto ne mogu da napisem u ovom gore kodu napr:

Code:
$theme=$data['ime_kolone']
Negde mogu ovo da napisem a negde ne. Stvarno ne razumem zasto?


Trece pitanje: Ako ti imas strane 1.php i 2.php. Sa strane 1.php saljes postom neku vrednost na stranu dva. Kako ja da saznam ime varijable koju ti postujes? Da li me sad razumes?



//poceh da pitam svasta u temi p ako se ovo racuna kao offtopic recite da ne pitam :)
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
77.46.247.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:13 - pre 182 meseci
Sve prosleđene varijable se nalaze u _POST nizu.
Code:

<pre>
<?php
print_a($_POST);
?>


Nadam se da će ti ovo pomoći?

Takođe, ovo $_POST možeš da zameniš sa $_GET. Postoji i $_REQUEST, koji sadrži elemente oba niza (i $_POST i $_GET).
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:23 - pre 182 meseci
Pa dobro onda, i taj tvoj kod je ok, jer uvek će ta promenljiva $theme dobiti tu vrednost iz rezultata upita, tako da i ako je neko pokušao da je hack-uje, njena vrednost biće overwrite-ovana.

Taj propust sa register_globals je obično vezan za situacije kada treba da prikazuješ neki sadržaj u zavisnosti od određenih privilegija, imaš takav primer ovde.

Citat:
Milos911:Zasto ne mogu da napisem u ovom gore kodu napr:

Code:
$theme=$data['ime_kolone']
Negde mogu ovo da napisem a negde ne. Stvarno ne razumem zasto?

Ako hoćeš asocijativan pristup koristi mysql_fetch_assoc().

A za treće pitanje, pa npr. ti možeš ovako da dobiješ sve indekse u $_POST nizu:
Code:
$imena = array_keys($_POST);

I onda je u tom nizu prvi element ($imena[0]) ima za vrednost ima naziv (asocijativan indeks) prve promenljive u $_POST, drugi element ima naziv druge, itd.
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:25 - pre 182 meseci
Tu znam. Nisam bas toliki noob :)
Mene zanima kako da saznam te varijable ako se nalaze u skripti ciji source nemam. Napr kako da saznam post varijablu koja prenosi text koji upravo pisem(ovo je samo primer :) )

Ovo poruka je bila namenjena nemanji ali evo sad i tebi. Ja znam da postujem i getujem. Hocu da znam sta drugi postuju i getuju(get je lako, post je tesko). Znaci trebaju mi imena tudjih post varijabli :)

Hvala za primer i objasnjenje :)

[Ovu poruku je menjao Milos911 dana 15.05.2009. u 13:56 GMT+1]
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.95.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:33 - pre 182 meseci
Ja evo sve pratim i nadam se pojasnjenju treceg pitanja, ali nikako da pofatam sta pokusavas da vidis :S
Kako da vidis sta drugi postuju, pa samo pogledas u $_POST ?
Ili otvoris source stranice i vidis u formi kako se zovu post polja, ako si mislio sa te strane da vidis?
Ili ti hoces da vidis na nekom trecem sajtu sta neko postuje?
Daj neki primer cemu bi ti to sluzilo, uopste ne mogu da skontam sta si zamislio
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:43 - pre 182 meseci
http://zsj.freehostia.com/temp.php //link je wml strana(radim wml pa mi je lakse da sklepam kod na brzinu :))
Moze li neko da sazna kako se zovu varijable koje sam echo na strani temp2.php. E to me zanima. Ako me sad niste razumeli odustajem :D
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.95.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 12:57 - pre 182 meseci
Pa ne moze, ali moze da vidi kako se zove to sto je poslao serveru, mislim, nekako mu to logicno dodje...
Ono sto je poslato serveru zove se
Poruka:<br/><input id="__wmlbrowser_poruka" name="poruka" maxlength="400" title="Vasa poruka"/><br/>
Sajt:<br/><input id="__wmlbrowser_sajt" name="sajt" maxlength="100" title="Vas sajt" value="http://"/><br/>
van forme, a u formi imas:

<input type="hidden" name="ime" value="$(ime)" origvalue="$(ime)"/><input type="hidden" name="poruka" value="$(poruka)" origvalue="$(poruka)"/><input type="hidden" name="sajt" value="$(sajt)" origvalue="$(sajt)"/>

mada, ne znam cemu ovo sluzi u value u hidden polju, ali nije ni bitno


 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 13:06 - pre 182 meseci
Ajoj koja sam ja budaletina. Pa i kad se pogleda source stranice vidi se ono sto mi je trebalo(mislim na source ovako iz browsera). A kako si ti to video(posto se razlikuje od source-a verovatno si koristio drugu metodu)?

Stvarno se izvinjavam zbog ovolikog nepotrebnog smaranja... :(
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.95.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 13:14 - pre 182 meseci
Pa reko sam ti odma da moze da se vidi iz sourca:
Citat:
dakipro:
Ili otvoris source stranice i vidis u formi kako se zovu post polja, ako si mislio sa te strane da vidis?...

Ja sam gledao generated source, verovatno ga FF3 i wml plugin malo promene, nemam pojma, ali i nebitno je...

 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.telenor.co.yu.



+303 Profil

icon Re: Jedno sigurnosno i jedno brzinsko pitanje.15.05.2009. u 13:19 - pre 182 meseci
Jesi ali sam mislio da mislis na source desni klik, open with, nesto.
Hvala na trudu i opet se izvinjavam.
 
Odgovor na temu

[es] :: PHP :: Jedno sigurnosno i jedno brzinsko pitanje.

[ Pregleda: 1362 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.