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

Zastita od prevelikih unosa u forme

[es] :: PHP :: Zastita od prevelikih unosa u forme

[ Pregleda: 2558 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

iizuzetan

Član broj: 186478
Poruke: 375
*.adsl.verat.net.



+16 Profil

icon Zastita od prevelikih unosa u forme28.11.2008. u 03:58 - pre 188 meseci
Malo ucim o formama u PHP pa mi nesto nije jasno o bezbednosti. Recimo imam bilo kakvu formu za unos podataka na sajtu. Znaci, covek unese na primer 1000GB teksta u formu, "submit-tuje" i ti podaci se pamte u globalnoj promenjljivoj $_POST['neko_ime']. E sad pre nego sto ti podaci u opste i dodju do moje skripte koja obradjuje te podatke (na kojoj recimo imam filter u vidu funkcije STRLEN koja ce odbaciti obradu tako velikog podatka), gde ce se cuvati ti podaci od 1000GB????? Da li se to negde na serveru pohranjuje ili direktno moj host to obradjuje pa ce time blokirati moj host posto mi je on 100 MB?????????? Da li postoji mogucnost da ogranicim unos jos kad covek ukucava tekst u formu?? Na primer ono kuca, kuca do odredjene granice i ne moze vise da kuca tekst u formu jer mu sama formane ne dozvoljava. To mi je nekako najsigurnija zastita pa ako moze, da li neko zna link gde mogu da naucim da pravim takve forme?? Medjutim kad malo vise razmisljam mozda sam server proveri podatak po podatak koji prima iz spolja pa kad dodje do neke granice blokira prihvat podataka. Ako je tako zanima me sta se onda desava? Da li ce i tako "presecen" podatak "na primet ako iznosi 500MB" moci da blokira moj host ili ce i takav podatak i dalje biti na serveru sve dok ne prodje kroz moju skriptu da bi se hostovao??? Ali sta recimo ako nisam stavio funkciju STRLEN za filtriranje velikih podataka jel moze onda doci do blokade mog hostinga?? Ili u opste i nece doci do secenja podataka vec ce jednostavno server obustaviti bilo kakve radnje i zaustaviti ceo proces? Ako zaustavi ceo proces da li ce poslati neka poruka korisniku od strane servera posto moje skripte vise nemaju nikakav uticaj jer do njih nije doso nikakav podatak? Kako ce se tad moje skripte ponasati posto programski ocekuju taj podatak a ne dobijaju ga???
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.rs.



+257 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 08:39 - pre 188 meseci
Prvo, procitaj o input tagu, posebno MAXLENGTH opciji:
http://www.w3.org/MarkUp/1995-archive/Elements/INPUT.html

Drugo, velicina onoga sto se prosledjuje je definisana kod php-a u php.ini opcijom post_max_size
http://www.php.net/manual/en/ini.core.php#ini.post-max-size

Drugim recima, procitaj malo uputstva onoga sto koristis pre nego sto pitas ista.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.adsl.verat.net.



+16 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 15:29 - pre 188 meseci
Gospodine Jbyn4e-e ja ne znam Engleski jezik tako da nisam imao koristi od tih tvojih linkova. U svakom slucaju hvala za zelju da mi pomognes.

Evo provalio sam kako da u Text Box-u ogranicim broj unetih znakova. To moze ako se napise na primer maxlength="20" ako zelim da se unese maksimalno 20 karaktera.

Ali nikako da provalim kako da ogranicim unos broja karaktera u Text Area -i ????? A to mi je daleko bitnije jer glupo da za unos teksta od 1000 karaktera koristim Text Box jer je on samo u jednom redu i proteze se mnogo horizontalno, a ako ga podelim u vise boksova jedan ispod drugog mnogo ce smarati korisnike jer svaki put kad treba da predju u novi ispis treba da posegnu za misem.

Molio bih ako moze neko da me uputi na neki sajt ili ovde da mi objasni kako da ogranicim na odredjeni broj karaktera unos teksta u Text Are-i direktno preko forme??? Mislim nemoguce da takva opcija za ogranicavanje broja unetih znakova ne postoji za Text Area-u obzirom da postoji za Text Box.
 
Odgovor na temu

b0ris
Boris Vujicic
Senior PHP programer
Beograd

Član broj: 126587
Poruke: 158
89.216.100.*



+2 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 16:10 - pre 188 meseci
http://209.85.135.104/translat...rhgrurOPWreCh1BFBxSADbmwoiLGVg

Ako vec nerazumes engleski onda probaj hrvatski :)
evo lepog linka da ti pomogne da se snadjes :)
http://translate.google.com/translate_t#


Nadam se da ce da pomogne :)
---------------------------------------------------------------------
Just do it.
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.adsl.verat.net.



+16 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 17:37 - pre 188 meseci
Evo uspeo sam da provalim. Zamislite u HTML nije predvidjena opcija da se kontrolise preko Text Area-e broj uetih znakova!!! Pa se zato mora ubaciti javascript !!!

Verovatno su mnogi ovde na sajtu znali to ali eto nisu hteli da pomognu. Ja nisam takav i podelicu sa svima ovo sto sam provalio.

Code:

<form method="POST" action="<?=$PHP_SELF?>">
<script language="javascript" type="text/javascript">
<!--
function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}
-->
</script>
<textarea name="poruka" onkeypress="return imposeMaxLength(this, 50);" rows="7" cols="27" ></textarea>
<br><input type="submit" value="Posalji" name="submitaj"><input type="reset" value="Resetuj" name="reset">
</form>



U ovom primeru je ogranicen unos na 50 karaktera i moze da se promeni na koliko god zelite. Na primer ako zelite da se ubaci samo 1000 karaktera upisete "return imposeMaxLength(this, 1000);"
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

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

Sajt: https://avramovic.info


+46 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 17:58 - pre 188 meseci
maxlength kod tekstualnih polja nije nikakva zaštita jer uvek može da se napravi identična forma (koja submituje na istu stranu kao tvoja forma) bez tih maxlength ograničenja

To je ok za informisanje korisnika da npr. polje u bazi prima određen broj karaktera, ali ne treba se oslanjati na to kao na sistem zaštite, već se to mora rešiti sa serverske strane.
Laravel Srbija.

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

iizuzetan

Član broj: 186478
Poruke: 375
*.adsl.verat.net.



+16 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 18:11 - pre 188 meseci
Aha ok. A jel postoji neka PHP funkcija koja ili globalna promenljiva koja vidi sa kog hostinga stizu POST podaci i ako utvrdi da nije sa mog hosta ili sajta da ignorise podatke??????
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6280

Sajt: pedja.supurovic.net


+1571 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 18:58 - pre 188 meseci
<?php

phpinfo();

?>

i sve ce ti se samo kasti.

Doduse na engleskom.


 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
..178.212.adsl.dyn.beotel.net.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 19:35 - pre 188 meseci
Nije to neka zastita da vidis odakle se forma submituje, zato sto korisnik dobije formu u browseru, otvori html uz pomoc ff developers toolbara (ili cega vec), i moze da izmeni sta god oce, iskljuci js i opet submituje sa tvog servera. Kao sto rece Nemanja, mora server-side provera velicine/kolicine/tipa podatka. Neznam sto te ovo brine, da bi poslao kroz text polje 4MB, terba ti podoooosta texta, na 10MB vec trokira firefox do te mere da blokira i explorer. Probaj sa nekim txt fajlom koji zauzima 20MB pa ces videti problem spamovanja na taj nacin.
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.adsl.verat.net.



+16 Profil

icon Re: Zastita od prevelikih unosa u forme28.11.2008. u 22:04 - pre 188 meseci
Citat:
dakipro: Nije to neka zastita da vidis odakle se forma submituje, zato sto korisnik dobije formu u browseru, otvori html uz pomoc ff developers toolbara (ili cega vec), i moze da izmeni sta god oce, iskljuci js i opet submituje sa tvog servera...........


A koje funkcije za filtriranje su dovoljne za apsolutnu zastitu formi?? Da li su dovoljne na primer nl2br, htmlentities, strip_tags, utf8_decode, addslashes, strlen ?

[Ovu poruku je menjao iizuzetan dana 28.11.2008. u 23:25 GMT+1]
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: Zastita od prevelikih unosa u forme30.11.2008. u 00:41 - pre 188 meseci
Cekaj, ne razumem sto si se toliko upanicio :-) Aj da probamo logicki:

Ako php ima opciju: "max_post_size", to znaci da je vec obezbedio zastitu od fajlova vecih od te velicine. Tako ?

2. O zastiti formi moze mnogo da se prica, a da li postoji potpuna zastita - Ne postoji, posto nista nije 100% bezbedno, al da ne duzim, oticicu u OT :-) Sve u svemu, imas TOP temu: PHP Security Info. Tu se nalazi link do sajta, koji je cak preveden i na srpski (tako da neces imati problema oko prevoda), gde je u velikoj meri obradjena sigurnost PHP skripti (imas odeljak o sigurnosti Formi) :-)

3. Sto se tice provere da li je forma poslata sa tvog host-a ili nekog drugog, ja sam to odradio ovako otprilike:

1. PHP generise neki random, unique niz karaktera (u daljem tekstu ID :D ), koji se posle provuce kroz md5.
2. Taj kod ubacujemo u sesiju korisnika.
3. Isti kod ubacujemo u formu kao "hidden" polje

----

E sad, kad korisnik posalje formu, proveravamo da li se poklapaju, ID-evi iz sesije i forme i ako se ne poklapaju, forma nije generisana pomocu neke tvoje skripte i samim tim smatramo da je neispravna. Nadam se da si razumeo, ako ne, potrudicu se da detaljnije objasnim :-)

P.S. Samo da napomenem, da ne bude neke zabune ili prozivki, nisam ja smislio ovo, vec sam procitao negde, al pravo da ti kazem, ne mogu da se setim gde :-)

Pozdrav!
 
Odgovor na temu

[es] :: PHP :: Zastita od prevelikih unosa u forme

[ Pregleda: 2558 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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