Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP. Include Variabler dateinamen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
MasterGoba
PostRank 1
PostRank 1
Beiträge: 2
Registriert: 24.04.2010, 11:10

Beitrag von MasterGoba » 24.04.2010, 12:01

@PHPSchmied: apropos Programmierstil
Ja Himmel, willst du ihm denn beibringen wie man Intrusion-gefährdete Scripts schreibt?

Niemals sollte ein auf Sicherheit bedachter Programmierer Input-Variablen ($_GET, $_POST, $_FILE, $_COOKIE) ohne jegliche Prüfung weiterverwenden!

Gibt es so viele Kombinationsmöglichkeiten? Ansonsten empfehle ich diese Form:

Code: Alles auswählen

switch($include_set) {
  case 1: include(....a.....); break;
  case 2: include(....b.....); break;
  case 3: include(....c.....); break;
  default: include(....a.....); break;
}
und die Variable $include_set aus einem geprüften Input herleiten.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Tracker
PostRank 3
PostRank 3
Beiträge: 68
Registriert: 13.04.2010, 21:46

Beitrag von Tracker » 25.04.2010, 16:57

es ist wirklich zum Mäusemelken.

Code: Alles auswählen


   <?

 $file =  '/secure/include/$a-$b/$c-$d.php';

if &#40;file_exists&#40;$file&#41;&#41; &#123;
   include $file;
&#125;
else &#123;

   include  '/secure/include/404.php';

&#125;
?>
Bringt nur folgenden Fehler

Code: Alles auswählen


Warning&#58; include&#40;/secure/include/404.php&#41; &#91;function.include&#93;&#58; failed to open stream&#58; No such file or directory in /customers/xxx/xxx/httpd.www/index.php on line 14

line 14 ist

Code: Alles auswählen


include  '/secure/include/404.php';
Ich darf das fragen ich bin ein DAU
https://fast-food.blog.de

barracuda
PostRank 1
PostRank 1
Beiträge: 28
Registriert: 28.04.2010, 11:34
Wohnort: South Africa, Kapstadt

Beitrag von barracuda » 29.04.2010, 21:06

Code: Alles auswählen

select * from 'http&#58;//tut.php-q.net/de/';
Aber mal im Ernst, Du solltest Dich mit den Grundlagen befassen...

Du willst GET Parameter auslesen also musst Du prüfen ob diese überhaupt vorhanden sind.
Als erstes die Methode prüfen:

Beispiel, $_SERVER['REQUEST_METHOD'] == 'GET'

Wenn ja, musst Du danach prüfen ob die GET Parameter vorhanden sind.
Beispiel, isset($_GET['a'])

Dann kannst Du den Wert in eine Variable binden.
Beispiel: $a = trim($_GET['a'])

Dann solltest Du noch prüfen ob ein Wert in der Variable $a überhaupt vorhanden ist.
Beispiel: $a != '';

Dann kanst Du als letzten Schritt die Variable $a auch verwenden. Hier solltest Du Dich mit dem Verketten von Strings und Variablen mal näher befassen.
Zuletzt geändert von barracuda am 29.04.2010, 21:24, insgesamt 1-mal geändert.

barracuda
PostRank 1
PostRank 1
Beiträge: 28
Registriert: 28.04.2010, 11:34
Wohnort: South Africa, Kapstadt

Beitrag von barracuda » 29.04.2010, 21:08

Ach so, der Fehler in Zeile 14 kommt daher, weil der File so nicht existieren kann und dann die else Bedingung in Kraft tritt und wahrscheinlich unter dem angegebenen Pfad keine 404.php Datei existiert.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag