link auf php funktion direkt aus <a href>
aNtraXx 10.11.2003 - 15:09 1498 24
watchout
Legendundead
|
pf, in deutsch bitte besser aufpassen, dass heisst "ich mach kebap für dich"...
ad 1: RTM. ad 2: weil du da kompletten müll geschrieben hast.
|
Brother Quintus
(!) o_O :O ^_^
|
man kann selbst über evaluation formulare eine datenbank runieren, wenn das formular mit der datenbank zu tun hat. Wenn das nicht geht erklär mir bitte warum ![:D](/images/smilies/biggrin.gif) Gordon
|
vossi
been there, done that
|
ich hab eval im zusammenhang mit dem auf seite 1 ganz oben .. das man den gewünschten get parameter evaluiert statt einen function pointer zu machen der aufgerufen wird .. aber anscheinend lieg ich damit sooo falsch das es nurmehr lustig is ..
|
watchout
Legendundead
|
und natürlich wird niemand auf die idee kommen mal "exec('format c:');" in der url einzugeben, oder "echo file_get_contents($PHP_SELF);" oder "print_r($GLOBALS);" oder "$x = mysql_query('SELECT CURRENT_USER() AS user');print_r(mysq_fetch_row($x));" oder ... usw
Bearbeitet von watchout am 15.11.2003, 06:28
|
vossi
been there, done that
|
$call = $_GET['call'];
$allowed = array('check-login','zweiteerlaubtefunc','dritte','usw');
if(function_exists($call) AND in_array($call,$allowed,TRUE))
{
eval("\$$call;");
}
umständlich aber doch richtig .. also? und ich weiss nun immer noch nicht was an meinem zweiten Teil (meine Erfahrungen über POST - Formulare und wie man sie austrickst) so falsch war ....
|
Jedi
PROGrAMmER
|
|
watchout
Legendundead
|
sehr weitsichtig ![:rolleyes:](/images/smilies/rolleyes.gif) inwiefern? vossi, und inwiefern sollte das einen vorteil gegenüber $$call(); ohne eval besitzen?? ![:confused:](/images/smilies/confused.gif) (abgesehen davon wird der von dir gepostete code nicht funktionieren... wegen "forms" der erste lustige punkt is das wort "frames", der zweite "javascript" ps: um get, sowie post-vars in einem array zu haben inklusive "rang" (dh. post überschreibt get) verwendet der geübte php-programmierer das $_REQUEST autoglobal... ![:rolleyes:](/images/smilies/rolleyes.gif) hier ein test... <form action="userinput.php?x=x" method="post">
<input type="text" name="x" value="a" />
<input type="submit" name="submit" value="test-it" />
</form>
<?php
echo "<pre>";
print_r($GLOBALS);
echo "</pre>";
?>
sollte selbsterklärend sein.
|
Rektal
Here to stay
|
Man sollte nur wissen auch das in $_REQUEST die Cookies auch drinnen sind.
|
vossi
been there, done that
|
vossi, und inwiefern sollte das einen vorteil gegenüber $$call(); ohne eval besitzen?? (abgesehen davon wird der von dir gepostete code nicht funktionieren... ich sagte NICHT das es einen vorteil gibt .. ich hab eval als möglichkeit aufgeführt .. und der code wird funktionieren .. eval("\$$call();");
nur die Klammern vergessen .. wegen "forms" der erste lustige punkt is das wort "frames", der zweite "javascript" tut mir leid das dich das belustigt aber als ich es probierte hat es funktioniert mit JS Frameübergreifend auf ein andres Dokument zugreifen zu können .. natürlich nur im IE ..
Bearbeitet von vossi am 20.11.2003, 13:10
|
watchout
Legendundead
|
ich sagte NICHT das es einen vorteil gibt .. ich hab eval als möglichkeit aufgeführt .. und der code wird funktionieren ..
eval("\$$call();");
nur die Klammern vergessen .. a) was nutzt eine möglichkeit wenn sie keinen (nicht einen einzigen) vorteil bietet? das is genauso wie wenn ich $var="$var"; schreib - das bringt in php genau "0" is nur sinnloses verbraten von rechnerzeit. b) dass du "nur" klammern vergessen hast is mir auch klar, aber diese /kleinen/ klammern ändern halt alles... tut mir leid das dich das belustigt aber als ich es probierte hat es funktioniert mit JS Frameübergreifend auf ein andres Dokument zugreifen zu können .. natürlich nur im IE .. und ausserdem auch nicht im ie wenn sicherheit auf "sehr hoch" oder wie das heisst steht, soviel ich weiss ![:rolleyes:](/images/smilies/rolleyes.gif) genauso wenn dieses "erhöhte sicherheit" update-ding installed is, oder sogar wennst die neueste version hast glaub ich... so genau weiss ichs auch nimmer... aber im endeffekt wirds in zukunft nimmer funktionieren.
|