Autor | Zpráva | ||
---|---|---|---|
kari Profil * |
#1 · Zasláno: 12. 8. 2007, 20:35:34
jak udělám podmínku If()
vpřípadě že si ji vygenerju do proměnné $podminka = "$_GET[ok] == 1 || !empty($_POST[odeslano])"; pak použiji If($podminka){zobrazísemi pokud je promenna podminka vyplnena} ale v $podminka je podminka kterou chci provést nechci zjistit jestli jsem zadal $podminka chápete mě? jak todle vřešit ? potřebuju podminku do formu a počet polí se různí vše su mohu jen vygenerovat |
||
Alphard Profil |
#2 · Zasláno: 12. 8. 2007, 20:39:44
tipnu si :-)
If(eval ($podminka)){zobrazísemi pokud je promenna podminka vyplnena} |
||
kari Profil * |
#3 · Zasláno: 12. 8. 2007, 23:15:19
$if = "If($form->podminka[$form_type][$a][$i])";
If(empty($form->podminka[$form_type][$a][$i])) $if = "if($_POST[$form->input_name[$form_type][$a][$i]] == "")"; eval($if){echo "<p>Nevyplněno, špatně vyplněno!</p>"; $err = 1;} // Pokud není vyplněno podle podmínek # 290 Parse error: parse error in c:apacheform.php on line 290 290 řádek je ten kde je eval() |
||
kari Profil * |
#4 · Zasláno: 12. 8. 2007, 23:17:23
v proměnných $if je před $ dolarem a i před uvozovkama v $if druhém řádku u té podmínky
|
||
Alphard Profil |
#5 · Zasláno: 12. 8. 2007, 23:24:14
říkal jsem, tipnu si :-) ale mělo by to jít, nevím kdy je vhodné nahrazovat proměnné za hodnoty a navíc toto fórum žere \
zkus ty řetězce uzavřít do apostrofů |
||
tiso Profil |
#6 · Zasláno: 12. 8. 2007, 23:25:52
Robme veci zložito? A k tomu takéto šialenosti? Čo presne potrebuješ spraviť?
|
||
kari Profil * |
#7 · Zasláno: 13. 8. 2007, 08:27:43
už vpohodě , vyřešeno
|
||
v6ak Profil |
#8 · Zasláno: 14. 8. 2007, 11:32:51
Alphard
If(eval ($podminka)) Krásná PHP injekce... Něco jiného tak potenciálně vražedného (při nesprávném použití, jako třeba toto) jako eval v PHP snad není. Jedině incude/require, ale ne tolik. Ono by úplně stačilo z "$_GET[ok] == 1 || !empty($_POST[odeslano])" udělat $_GET["ok"] == 1 || !empty($_POST["odeslano"]) ... |
||
Alphard Profil |
#9 · Zasláno: 14. 8. 2007, 11:42:07
v6ak
Něco jiného tak potenciálně vražedného souhlasím :-) odpovídal jsem na dotaz Ono by úplně stačilo ... dotaz zněl jinak |
||
v6ak Profil |
#10 · Zasláno: 14. 8. 2007, 11:46:21
Alphard
souhlasím :-) odpovídal jsem na dotaz Jo, ale má to dost zásadní chybu. dotaz zněl jinak Tázající asi neví, proč tam má ty uvozovky, někde to prostě IMHO viděl. Tak jsem navrhl takové vylepšení, aby to bylo napsáno správně. V podstatě nelze zjistit, zda je podmínka, kterou se snažil uložit do $podminka, splněna, právě kvůli té injekci. |
||
Časová prodleva: 17 let
|
0