link auf php funktion direkt aus <a href> - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/link_auf_php_funktion_direkt_aus_lta_hrefgt_98130/page_2 - zur Vollversion wechseln!


watchout schrieb am 14.11.2003 um 22:48

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 schrieb am 14.11.2003 um 23:01

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 schrieb am 15.11.2003 um 01:26

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 schrieb am 15.11.2003 um 06:25

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


vossi schrieb am 19.11.2003 um 12:19

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 schrieb am 19.11.2003 um 12:41

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 schrieb am 20.11.2003 um 11:20

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 schrieb am 20.11.2003 um 12:29

Man sollte nur wissen auch das in $_REQUEST die Cookies auch drinnen sind.


vossi schrieb am 20.11.2003 um 13:05

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 ..


watchout schrieb am 23.11.2003 um 19:51

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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026