Quote:
Originally Posted by False
Geh mal deine letzen Threads durch und guck wer dir geholfen hat
Ich war bereit dir zu helfen, da ich sehe das diese Lösung zu 95% nicht gut ist für den Zweck den es erfüllen soll, habe ich nachgefragt wieso du es so lösen musst, damit ich dir eine Bessere Lösung erläutern kann.
Diese Lösung kann jenachdem auch ein großes Sicherheitsproblem darstellen, wodurch deine Anwendung (oder sogar der ganze Server) übernommen werden könnte (und somit bullshit/illegales in deinem Namen durchgeführt werden könnte).
Dieses Risiko besteht erst recht, da du recht neu im PHP-Umfeld bist und du wie schon von mir (und florian) geschrieben mit den Strings nicht klar kommst (was ok ist, nicht falsch verstehen).
|
Für die letzten Threats bin ich dir auch dankbar, das steht außer Frage! Wenn du mir aber hier nicht helfen kannst/willst, dann wäre ich dir dankbar auch nicht zu kommentieren.
Ich bezweifle stark, dass es sich mit der von mir genannten Vorgehensweise um eine Sicherheitslücke handelt. Vorallem da der Angreifer erst meine Datenbank + meinen Webserver übernehmen müsste, um überhaupt zu der Seite zu kommen, welche ich hier mit eurer Hilfe versuche zu basteln. Natürlich ist diese für den normalen Benutzer absolut nicht zugänglich - Admins only! Ich habe mich denk ich mit gutem Gewissen gegen alle typischen Angriffe geschützt (SQL-Injection, XSS, usw.).
Ich bin kein absoluter Anfänger mehr, auch wenn es sich hierbei wohl um Basics handelt. - Kann ich dir sicherlich beweisen, wenn ich mein Projekt public mache. Bis dahin will ich aber auch nur das Nötigste darüber preisgeben.
Nochmals zu meinem Problem ..
PHP Code:
$txt = '$online_check = new Check();';
Funktioniert, wenn es sich nur um
$online_check = new Check(); handelt. Wenn ich jetzt aber gerne mehr in der Datei speichern will, bin ich mit " und ' etwas überfordert - oder ich weiß einfach nicht, welche die beste Lösung (im Sinne von die beste Schreibweise) hierfür ist.
Wie siehts denn aus, wenn ich folgenden Text in der $txt Variable speichern wollen würde
PHP Code:
<?php
session_start();
include_once $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
$online_check = new Check();
$online_check->check_isonline();
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
require $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/test/test.php';
$pdo = new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8', DBUSERNAME, DBPASSWORD);
?>
EDIT:
Habe es selbst hinbekommen. Die Lösung wäre
PHP Code:
$txt = '<?php' . "\r\n\r\n" . 'session_start();' . "\r\n\r\n" . 'include_once $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n\r\n" . '$online_check = new Check();' . "\r\n" . '$online_check->check_isonline();' . "\r\n\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n" . 'require $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n\r\n" . 'include_once $_SERVER["DOCUMENT_ROOT"] . \'/test/test.php\';' . "\r\n\r\n" . '$pdo = new PDO("mysql:host=" . DBHOST . ";dbname=" . DBNAME . ";charset=utf8", DBUSERNAME, DBPASSWORD);' . "\r\n" . '?>';
Danke für alle Antworten !