"We are back" « oc.at

link auf php funktion direkt aus <a href>

aNtraXx 10.11.2003 - 15:09 1498 24
Posts

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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 ^_^
Avatar
Registered: Oct 2003
Location: Vienna, Austria
Posts: 657
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

Gordon

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Code: PHP
$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
Avatar
Registered: May 2002
Location: linz
Posts: 1871
Zitat von vossi
2) die einfachste möglichkeit Forms zu verändern ist deine Form in ein Frame zu laden und per JavaScript die Frame Inhalte deiner Form zu ändern bzw. gleich die ganze Form von Hand verschicken .. hat mal n Freund von mir bei meinem GBook gemacht :) (kleine Gehversuche als Möchtegern Hacker :p )
normaler Weise sollte, bevor in die DB eingetragen wird, nochmal alles geprüft werden ;)
Zitat von watchout
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
sehr weitsichtig :rolleyes:

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Jedi
sehr weitsichtig :rolleyes:
inwiefern?

vossi, und inwiefern sollte das einen vorteil gegenüber $$call(); ohne eval besitzen?? :confused: (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:
hier ein test...
Code: PHP
<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
Registered: Dec 2002
Location: Inside
Posts: 4476
Man sollte nur wissen auch das in $_REQUEST die Cookies auch drinnen sind.

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Zitat von watchout
vossi, und inwiefern sollte das einen vorteil gegenüber $$call(); ohne eval besitzen?? :confused: (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 ..

Code: PHP
eval("\$$call();");

nur die Klammern vergessen ..

Zitat von watchout
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von vossi
ich sagte NICHT das es einen vorteil gibt .. ich hab eval als möglichkeit aufgeführt .. und der code wird funktionieren ..

Code: PHP
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...
Zitat von vossi
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:
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.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz