35801
Goto Top

Globale Variablen auf Fremdcode checken

Ich arbeite an einem PHP-Script, welches 17 MB Code hat und alle Variablen als global benötigt...

Nun habe ich folgende Frage:
Wie kann ich alle Variablen in jedem Schritt überprüfen ob die Fremdcode
(zB: ein <?PHP include("hackerscript.php"); ?>)
enthalten??

Wenn ich alle Variablen in $_GET und $_POST in den ersten Scriptzeilen per foreach durchlaufe und eventuell enthaltenen HTML- und PHP-Blöcke lösche wirkt sich das dann auch auf die globalen Variablen aus?

zB: Formulardaten-Feld "frm_name" wird per POST übertragen und ich schmeiss alles was HTML bzw. PHP ist aus $_POST['frm_name'] raus ist das dann auch im grobalen $frm_name weg oder nicht?

Suche dringend eine Lösung da ich sonst 17MB per hand umschreiben muss und das ist ein Kalkulator-Tool mit gut 75 ellenlangen Formularen über mehr als 200 Seiten...


Danke im Voraus!

Content-Key: 89325

Url: https://administrator.de/contentid/89325

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: Arano
Arano 06.06.2008 um 20:33:21 Uhr
Goto Top
Hm... keine Ahnung, aber was spricht gegen ausprobieren ?
<?php
   $_POST['frm_name']=htmlspecialchars($_POST['frm_name'], ENT_QUOTES);  
  echo '<pre>'.$frm_name.'</pre>';  
?>
Ist doch eigentlich sowieso besser gleich mit den Superglobalen zu arbeiten.

Schönen Freitag noch
Arano
Mitglied: 35801
35801 06.06.2008 um 21:00:36 Uhr
Goto Top
Habs so probiert und klappt nicht!
<?php 

echo "<pre>".$_GET['test']."; ".$_POST['frm_name']."</pre>";  

$_POST['frm_name']=strip_tags($_POST['frm_name']);   
$_GET['test']=strip_tags($_GET['test']);   

if(strlen($test) > 1){
  echo '<pre>'.$frm_name.'</pre><br>'; // Hier is es Ihm egal  
  echo '<pre>'.$_POST['frm_name'].'</pre><br>'; // Hier klappts ...  
  echo '<pre>'.$test.'</pre><br>'; // und hier gehts auch nicht  
}
else{
	echo '<form method="post" action="pd_test_script.php?test=ja">';  
		echo '<input type="text" size="20" name="frm_name"><input type="submit" value="OK">';  
	echo '</form>';  
}

?>