Probleme mit Backslash beim Speichern mit PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absoluten pfaden
all
anleitung
beispiel
benutzerdaten
bereich
code
dank
datei
ecke
funktion
manipulieren
pfad
problem
server
text
uhr
url
wandel
zugriff
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Könntest du das vllt ein bisschen anders erklären? Mit Beispiel?
Du könntest es auch mit absoluten Pfaden machen, vllt geht das besser:
file_put_contents( dirname( __FILE__ ) . '/mytext.txt' , $content );
Liebe Grüße -
Es dürfte ein Problem mit dem Server und deinem Script sein. Lima hat leider standardmäßig magic_quotes aktiviert, was vor alle " ein \ setzt. Wenn du die Daten in deinem Script nochmal sicherst, wird daraus eben \\\". Leg dir eine .htaccess an und deaktivier die Funktion oder wandel es mit stripslashes im Script zurück.
-
Hallo,
danke für die Antworten! Aber könnt ihr mir sagen, wie man es über eine .htaccess deaktiviert?
Danke, IT-Ecke -
in eine Datei .htaccess reintippen, hochladen.php_flag magic_quotes_gpc off
-
ggamee schrieb:
Könntest du das vllt ein bisschen anders erklären? Mit Beispiel?
Du könntest es auch mit absoluten Pfaden machen, vllt geht das besser:
file_put_contents( dirname( __FILE__ ) . '/mytext.txt' , $content );
Liebe Grüße
VS.
it-ecke schrieb:
Hallo sonok,
es werden jetzt zwar keine Backslashs mehr gespeichert, aber auch nichts Anderes. Ich habe alles nach deiner Anleitung gemacht. Hier der Code:
$fp = fopen($_POST["filename"], "r+"); fputs($fp, $_POST["text"]); fclose($fp);
Kann man das Beheben?
Danke, IT-Ecke
Fazit: Nimm das obere von ggamee macht exakt dasselbe (die Funktion). Den Pfad musst du gegebenenfalls anpassen. Weitere Informationen dazu findest du auch auf der folgenden Seite: http://de.php.net/manual/en/function.file-put-contents.php
Gruß S.Brosch -
it-ecke schrieb:
$fp = fopen($_POST["filename"], "r+"); fputs($fp, $_POST["text"]); fclose($fp);
Das Script ist extrem unsicher. Verwende es auf keinen Fall mehr weiter. Gib den Dateinamen fest vor und nicht per $_POST, oder wenn es gar nicht anders geht als über Benutzerdaten, schreib die erlaubten Dateien in eine Whitelist und vergleich es damit.
Derzeit könnte dein Script auf einfachste Weise übernommen werden-> Als filename index.php und als text irgendeinen PHP-Code. -
it-ecke schrieb:
PS: Hallo chatter, das Script läuft in einem Passwortgeschütztem Bereich.
Das ist nicht das Problem, das Problem ist, dass jemand, der sich einloggen kann, deinen WEbspace übernehmen und all deine Dateien manipulieren kann
Das willst du nicht, deshalb solltest du auf ihn hören ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage