Seiten (1): 1  
Autor Beitrag
 
Ingo
Unregistrierter Benutzer
Hi, durch meine eigenen Umstellungen von 4.4 auf 4.4.1 (bzw auch 5.0) ist mir folgendes aufgefallen:

wenn ich per URL Daten übergebe, z.B. "http://...irgendeinpfad/index.php?cat=11800&id2=1" dann läuft es mit php 4.1, NICHT aber mit 4.4 bzw. 5.0!

Die Daten sind ganz normaler html-code (der sich entsprechend hinter "cat" und "id2" etc. verbirgt) und liegen in einer mysql. Der php-code baut diese jeweils zu den einzelnen Seiten zusammen und gibt sie aus:

Beispiel:
PHP-Code:
1
2
3
4
<?php $pos=40;
$ergebnis mysql_query ("SELECT code FROM tblcontent WHERE (cat='$cat' AND pos='$pos') AND id2='$id2' ORDER BY pos");
$daten mysql_fetch_array ($ergebnis);
echo 
$daten [code]; ?>


Anm: $cat und $id werden in der URL übergeben, $pos explizit im php-Code bestimmt.

Wenn es an den erhöhten Sicherheitsstandards der neuen php Versionen liegt, was muß ich ändern?

Danke...!
 
ScHeB
Unregistrierter Benutzer
bei allen neuen php-versionen musst du die superglobalen variablemn $_GET, $_POST und $_REQUEST verwenden.

mehr dazu:
http://de.php.net/manual/de/security.globals.php
 
Ingo
Unregistrierter Benutzer
:-) ...und wie sieht das konkret aus: das "cat=11800" aus der URL wird dann wie an die $cat im code übergeben? :???:

Und es werden bis zu 3...4 variable übergeben...

Meine register_globals sind übrigens "off"!

Thx!
 
ScHeB
Unregistrierter Benutzer
$_GET['cat'] muss das dann heißen.
 
Ingo
Unregistrierter Benutzer
Danke... es geht, aber ohne die ' einfachen Anführungsstriche um cat bzw. id4: id4=$_GET[id4]

Waren diese dort (id4=$_GET['id4']) wurde gemeckert (parse error etc...)

:)
 
ScHeB
Unregistrierter Benutzer
ähm... du sollst nicht die URL ändern, sondern die variablen im script :eek:
 
Ingo
Unregistrierter Benutzer
Hab ich ja... :P

Im Script stehen jetzt die $_GET.... aber eben ohne ' also z.B: so: id4=$_GET[id4]
 
ScHeB
Unregistrierter Benutzer
na, wenn du meinst...
Seiten (1): 1  
 
Suche Optionen
» Erweiterte Suche
Druckansicht Druckansicht