Autor | Zpráva | ||
---|---|---|---|
Meldo Profil |
#1 · Zasláno: 8. 9. 2006, 21:09:41
Ktory kod je z hladiska bezpečnosti lepší?
if (is_numeric($_POST['postupnost']) and strlen($_POST['postupnost'])>0) { |
||
Casero Profil |
#2 · Zasláno: 8. 9. 2006, 21:11:20
Meldo
myslím, že je to uplně jedno, ale druhé řešení vypadá od oka bezpečnějc |
||
djlj Profil |
#3 · Zasláno: 8. 9. 2006, 21:16:00
Meldo
Oboje je úplně to samé. ale druhé řešení vypadá od oka bezpečnějc A na to jsi došel prosím jak? |
||
Anonymní Profil * |
#4 · Zasláno: 8. 9. 2006, 21:19:31
$postupnost je lokalna premenna, teda pokial neni na globalnom priestore, cize jej existencia sa viaze len k danej funcii, zato globalnu $_POST je mozne pouzit kdekolvek... ale kedze mas pripradenie a podmienku v rovnakom priestore a myslim ze mozeme pevne verit ze premenna $postupnost sa sama od seba nezmeni, kludne mozes pouzit i druhy zapis, je to vec dizajnu
|
||
Joker Profil |
#5 · Zasláno: 8. 9. 2006, 21:21:38
Z hlediska bezpečnosti je to úplně stejné.
Mimochodem, nemá to náhodou dělat zhruba totéž jako tohle? echo(intval($_POST["posloupnost"])); |
||
Meldo Profil |
#6 · Zasláno: 8. 9. 2006, 21:24:54
Vsetkym dakujem. Zdalo sa mi, ze som kdesi cital, ze prva moznost je bezpecnejsia. Ale to sa mi asi len zdalo.
Joker Nie. Mam tam este dalsie podmienky, ale naco to sem vypisovat. O to teraz neslo. |
||
Casero Profil |
#7 · Zasláno: 8. 9. 2006, 21:25:36
A na to jsi došel prosím jak?
nevím...prostě mi to tak přišlo,... :-D |
||
Anonymní Profil * |
#8 · Zasláno: 8. 9. 2006, 21:28:32
hmm ale vhladom na rychlost by som doporucil prve riesenie kde sa vynecha kopirovanie premennej, ovsem casovy zisk je fakt zanedbatelny ;)
|
||
tiso Profil |
#9 · Zasláno: 8. 9. 2006, 23:45:41
Vynechanie kopírovania premennej má efekt v rýchlosti, ale hlavne v šetrení pamäte - nie je nutné alokovať pamäť pre zbytočnú premennú... Nehovoriac o tom že viem s akou premennou pracujem ($_POST["posloupnost"] - to bude z nejakého formulára vs. $postupnost - čo to je za premennú?)
Čo sa týka tých podmienok, tak najlepšie to napísal Joker, chýba mi tam len kontrola na existenciu premennej if(isset($_POST["posloupnost"])) |
||
mila Profil |
#10 · Zasláno: 9. 9. 2006, 01:32:11
echo $_POST['posloupnost'] * 1; // :)
|
||
Anonymní Profil * |
#11 · Zasláno: 9. 9. 2006, 02:02:39
echo $_POST['posloupnost'] * 1; // :)
to uz radsej (int)$_POST['posloupnost']; ovsem integer ma urcity rozsah a on kontroluje ci je to num... asi mu rozsah 2^30 nestaci, heh potom by to slo kontrolovat ci pretypovat ako float... |
||
llook Profil |
#12 · Zasláno: 9. 9. 2006, 02:21:48
potom by to slo kontrolovat ci pretypovat ako float..
Pak by to bylo floor($_POST['posloupnost']); Jinak je to úplně to samé. Výkonostní rozdíl je tak malý, že (prakticky) vlastně vůbec žádný není (zkus si změřit čas vykonání skriptu na milisekundy a zaokrouhlit třeba na 5 desetinných míst, rozdíl nepoznáš). |
||
Joker Profil |
#13 · Zasláno: 9. 9. 2006, 08:09:11
tiso
chýba mi tam len kontrola na existenciu premennej if(isset($_POST["posloupnost"])) Pravdu máte... Moje výmluva je, že jsem ohlídání existence všech proměnných shledal tak náročné, že radši vypnu E_NOTICE ;) Ale správně tedy pokud chci v proměnné číslo a chci jí pak dál používat, tak: $posloupnost = isset($_POST["posloupnost"]) ? intval($_POST["posloupnost"]) : 0; mila No to už mi přijde čistší to s intval() co jsem psal já. |
||
mila Profil |
#14 · Zasláno: 9. 9. 2006, 10:10:49
Vím, že je to není pěkné, ale funguje i s realnými čísly..
|
||
OndrejCZE Profil * |
#15 · Zasláno: 9. 9. 2006, 18:13:39
Si delate srandu, ze? Samozrejme ze prvni varianta. Abys to nekde nepopletl a a neprepsal si to co mas POSTnute nejakou jinou srandu. Ondra
PS: Treba na foru na builder.cz by te za toto skoro ukamenovali. |
||
OndrejCZE Profil * |
#16 · Zasláno: 9. 9. 2006, 18:14:11
I kdyz z hlediska bezpecnosti je to na stejno, to je pravda.
|
||
OndrejCZE Profil * |
#17 · Zasláno: 9. 9. 2006, 18:23:57
Sorry za opakovani, predtim se to nezobrazilo. Ondra
|
||
gaminn Profil * |
#18 · Zasláno: 9. 9. 2006, 18:34:31
OndrejCZE
Jen jestli si tu srandu neděláš ty z nás... Mně se zdá, že tomu příliš nerozumíš. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0