PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   [Variablen] sichere Parameterübergabe (https://www.php-resource.de/forum/php-developer-forum/63524-variablen-sichere-parameteruebergabe.html)

Body3000 19-12-2005 13:10

[Variablen] sichere Parameterübergabe
 
Hallo zusammen,

ich beabsichtige eine SQL-Anweisung als Variable zu übergeben. Die Anweisung soll allerdings von keinem User verändert werden und sicher übertragen werden. Welche Möglichkeiten stehen da zur Verfügung?

Grüße

Boris

onemorenerd 19-12-2005 13:19

Wenn die Query zum User und von dort wieder zu dir geht, kannst du nie von Sicherheit sprechen. Allerdings muß das ja nicht sein. Speicher die Query in einer Session!

php_jan 19-12-2005 13:27

Eine SQL-Anweisung mit dem Query-String zu übergeben, halte ich für sehr gefährlich! Dies kann auf jeden Fall manipuliert werden. Es gibt auch keine Möglichkeit, dies zu verhindern. Ein bösartiger User kann einen Request beliebig verändern. Wenn er z.B. mit Ethereal den Request "mitschneidet" wird er bestimmt hellhörig, wenn ein SQL-Statement überliefert wird.

Neben der Session könntest du auch die Anweisung selbst in die Datenbank schreiben. Aber wofür benötigst du dies? Vielleicht kann man das komplett übergehen...

jahlives 19-12-2005 13:37

Du verwendest Sessions ?
Warum denn nicht den Query in eine Session Var speichern à la
PHP-Code:

$_SESSION['query'] = 'order by name desc'

Danach hängst du die Session an deine DB Query an et voilà.
Du kannst es auch per URL machen, dann aber am besten mit einem Switch Statement zur Prüfung
PHP-Code:

switch($_GET['query']){
    case 
'order by name desc':
    
//Code den du dann ausführst
    
break;
    case 
'order by name asc':
    
//Code den du dann ausführst
    
break;
    default:
    die(
'Die Variable zu verändern gilt nicht');


Du musst einfach sicherstellen, dass du mit den Cases alle erlaubten Möglichkeiten der Query abfrägst und als Default einen Fehler wirfst.

Gruss

tobi

Body3000 19-12-2005 15:14

Vielen Dank Tobi,

ich denke diese Lösung ist die Beste :-)

Den anderen auch nochmals vielen Dank für die schnelle Hilfebereitschaft!

Grüße


Boris


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:06 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG