php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-03-2006, 17:39
MaxP0W3R
 PHP Senior
Links : Onlinestatus : MaxP0W3R ist offline
Registriert seit: Dec 2003
Beiträge: 1.809
MaxP0W3R ist zur Zeit noch ein unbeschriebenes Blatt
Standard String absichern

Hi,

hier sind bestimmt auch viele, die ihre Navigation z.B. so aufbauen:

index.php?module=news


und diese dann so abfragen:

PHP-Code:
$variable $_GET['module']; 
Was genau macht ihr so, um diese Variable abzusichern ?

Reicht das z.B. aus ?

PHP-Code:
switch($module) {
        case 
"summary"     :
        case 
"dater" :
        case 
"calendar" : require("modules/module_" $module ".inc.php"); break;
        
        default                    : require(
"modules/module_" "summary" ".inc.php");
    } 
Ich mach z.B. keine SQL-Befehle, in denen Variablen vorkommen, die von aussen kommen (Post, session oder Get)

Reicht das so mit dem switch, oder gibs in PHP bekannte Sicherheitsprobleme in dieser Richtung ?

Weil theoretisch dürfte er so ja nur andere Dateien inkludieren, wenn genau der string vorkommt.


cya max
__________________


An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )
Mit Zitat antworten
  #2 (permalink)  
Alt 24-03-2006, 18:19
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

eigentlich bist du doch lang genug dabei um die diversen threads zu dem Thema mitbekommen zu haben...

Zitat:
case "calendar" : require("modules/module_" . $module . ".inc.php"); break;
überleg doch mal, welche werte $module alle haben könnte. Da bleibt nicht viel übrig, oder

btw:
Zitat:
: require("modules/module_" . "summary" . ".inc.php");
was diese formulierung und aufsplittung soll, weiß wohl auch keiner...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (24-03-2006 um 18:21 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 24-03-2006, 20:05
globqluqqlo
 Junior Member
Links : Onlinestatus : globqluqqlo ist offline
Registriert seit: Feb 2006
Beiträge: 99
globqluqqlo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

im default:-Fall auch ein break; und switch ($variable) ........

Theoretisch kann ein falsches $_GET kommen, das nicht zur Vorgeschichte passt.

zB wenn ?login kommen sollte, macht sie direkt ?module=sendmoney&amount=10Mio&whom=tome
Mit Zitat antworten
  #4 (permalink)  
Alt 24-03-2006, 20:19
MaxP0W3R
 PHP Senior
Links : Onlinestatus : MaxP0W3R ist offline
Registriert seit: Dec 2003
Beiträge: 1.809
MaxP0W3R ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von globqluqqlo
im default:-Fall auch ein break; und switch ($variable) ........

Theoretisch kann ein falsches $_GET kommen, das nicht zur Vorgeschichte passt.

zB wenn ?login kommen sollte, macht sie direkt ?module=sendmoney&amount=10Mio&whom=tome
also normalerweise wird nach dem defualt zweig eh abgebrochen, wenn nicht wäre das ein Bug in PHP, was ich nicht glaube


naja es geht auch nur darum, die richtige datei einzubinden, und wenn man irgendwas eingibt, dann wird die datei ja nicht geladen, und die daten müssen im jeweiligen modul ja eh auf konsistenz geprüft werden
__________________


An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )
Mit Zitat antworten
  #5 (permalink)  
Alt 24-03-2006, 20:33
globqluqqlo
 Junior Member
Links : Onlinestatus : globqluqqlo ist offline
Registriert seit: Feb 2006
Beiträge: 99
globqluqqlo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eine zweite Absicherung gegen script injection besteht darin, dass Du im require vor dem variabeln Modulnamen etwas hast. Deshalb wirkt module=http://.. nicht. Und übrigens werde ich im require immer file:// hinschreiben (habs aber noch nicht probiert)

PS default, Du hast recht, die default clause muss (should) am Schluss sein.
Mit Zitat antworten
  #6 (permalink)  
Alt 24-03-2006, 21:12
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von globqluqqlo
Und übrigens werde ich im require immer file:// hinschreiben (habs aber noch nicht probiert)
Auf den Test wäre ich aber gespannt ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 24-03-2006, 21:52
globqluqqlo
 Junior Member
Links : Onlinestatus : globqluqqlo ist offline
Registriert seit: Feb 2006
Beiträge: 99
globqluqqlo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?
 $fall
=3;
 switch(
$fall){
 default: echo 
'default'
 case 
: echo 'fall2';
 case 
: echo 'fall1';
 }
  echo 
'<br />';

  
print_r(stream_get_wrappers());
 
 
// "file://vars.php" hat nicht funktioniert. Deshalb mal aus dem c:\ included
  
require ('file://'.'c:/vars'.'.php');

  
// mit Pfadbehandlung
  
$path $_SERVER['ORIG_PATH_TRANSLATED'];
  
$path dirname($path) . '/';
  require (
'file://'$path 'vars' '.inc.php');

?>
addi-it: tailquestion, welche server Variable gibt mir offiziell, wo mein Skript ist? (ich habe Zugang zu zwei Servern, die vorhandene servervariablen sind weit auseinander.)

Geändert von globqluqqlo (24-03-2006 um 22:09 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:10 Uhr.