Zurück   Flashforum > Flash und Server > Server-Seite allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-04-2009, 16:26   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 43
Question PHP Code in TXT speichern und wieder ausführen?

Hallo,

folgende Situation:
Ich will beliebigen HTML und PHP Code in ein Textarea hineinschreiben, diesen dann in einer TXT speichern, die TXT in eine PHP Datei umbenennen und diese dann mit ihrem neuen Inhalt wieder ausführen können.
Soweit zur Theorie.
In der Praxis sieht es aber so aus, dass beim Speichern vor jedes Anführungszeichen ( " ) ein umgekehrter Schrägstrich ( \ ) eingefügt wird (und die PHP Datei folglich nicht mehr funktioniert).

Im Detail:
formular.html mit folgendem Code:
HTML-Code:
<head>
<title>Formular</title>
</head>
<body>

<form method="post" action="action.php">
<textarea name="textarea"></textarea><br>
<input type="submit" name="Button" value="Abschicken">
</form>

</body>
</html>
... und action.php mit folgendem Code:
PHP-Code:
<?PHP

echo $_POST[textarea];

$file=fopen("datei.txt","w+");
fwrite($file,$_POST[textarea]);
fclose($file);
 
copy("datei.txt","php.txt");
rename("php.txt","php.php");

?>
Ich hoffe es wird klar, wo mein Problem liegt.
Bin für jede Hilfe dankbar.

mfg tomy78
tomy78 ist offline   Mit Zitat antworten
Alt 13-04-2009, 18:14   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Wenn du schon solche Fragen stellst, frage ich mich, ob dein Vorhaben gut enden wird, aber das musst du wissen...
http://de.php.net/manual/de/function.stripslashes.php
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 13-04-2009, 18:16   #3 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Dumme Frage aber WARUM? Willst du dir ein eigenes Sicherheitsloch bauen?
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 14-04-2009, 09:08   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 43
Vielen Dank, jetzt klappt es so, wie ich mir das vorgestellt hatte.

Warum ich das mache?
Nun, ich möchte mehreren Leuten (die ich persönlich kenne) die
Möglichkeit geben, kleine Code-Schnipsel auszuprobieren. Da diese
an Computern arbeiten, auf welchen kein FTP Programm läuft, ist
mir nur diese Lösung eingefallen.

Wenn jemand eine besser Idee hat - nur her damit ;-)

mfg tomy78
tomy78 ist offline   Mit Zitat antworten
Alt 14-04-2009, 10:00   #5 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Soweit ist das ganz ok, nur muss gewährleistet werden dass auch wirklch nur berechtigte Personen Zutritt haben. Daher ist ein LogIn oder minimum ein Passwortschutz zu empfehlen.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 14-04-2009, 10:45   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 43
Klar, das Formular ist mit einem Passwort geschützt.

100%ige Garantie, dass nur befungte Personen die
Seite aufrufen, habe ich natürlich trotzdem nicht.

Deshalb habe ich mir überlegt, dass ich den Code vor
dem Speichern in der TXT nochmal per strpos() durch-
gehe und wenn z.B. die mail()-Funktion benutzt wird,
das Speichern nicht zulasse.

Nach was wäre es noch empfehlenswert zu suchen,
um große Sicherheitslöcher zu schließen bzw. gibt es
etwas, dass ich auf gar keine Fall zulassen sollte?

mfg tomy78
tomy78 ist offline   Mit Zitat antworten
Alt 14-04-2009, 11:36   #7 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Kommt drauf an was du deinen Kollegen alles erlauben willst. Aber ich würde dann mal alles sperren was die Sicherhit deiner bestehenden Scripte gefährdet wie unset() oder glob() etc.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 14-04-2009, 12:19   #8 (permalink)
Affine Abbildung
 
Benutzerbild von Samuel
 
Registriert seit: Feb 2002
Ort: Bremen
Beiträge: 15.089
Sysiphus arbeit.
fopen ist auch ein potentieller kandidat
file_put_contents

Dann kommen noch solche spielchen wie
eval() mit nem hex oder dec string, der vom Interpreter wie normaler Code interpretiert werden kann, dann sind unset, glob und alle anderen freunde wieder im Spiel.

Würd dieses Script auf ne subdomain packen.

Naja falsch, ich würde es garnicht irgendwo nutzen.
Mail() zu verbieten ist witzlos, wenn ich volle Rechte habe und mir defakto selber nen PHP interpreter schreiben kann, der dann deinen mail "schutz" nicht mehr besitzt, hast du den salat.

Und damit kann man den PWD schutz auch aushebeln, wissend oder unwissend.
Für den ****** würd ich mir WOS (Webserver on Stick) runterladen, ist ein webserver, der nicht installiert werden muss, oder n apache portable derivat.

Egal wie Vertrauenswürdig menschen sind, du kannst Ihnen nicht trauen. (Es muss nicht zwangsweise absichtlich passieren, aber wenn... und wenn du nen eigenen Server hast, hast du in nem Monat Warez und nen IRC Usenet Channel , ohne was davon zu wissen)
__________________
Solange sich auch nur einer an ihn erinnert, solange auch nur ein Herz mit Leidenschaft schlägt - wie kann ein Traum da sterben?

If you use the wrong line ending characters when writing your files, you might find that other applications that open those files will "look funny". - PHP.net

Hier ruhn meine Gebeine - ich wollt, es wären Deine.

Try to look unimportant, they may be low on ammo!

Was ist euer Lieblings-Datentyp? Schreibt mir!

Geändert von Samuel (14-04-2009 um 12:22 Uhr)
Samuel ist offline   Mit Zitat antworten
Alt 14-04-2009, 12:26   #9 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
Zitat:
Zitat von tomy78 Beitrag anzeigen
Deshalb habe ich mir überlegt, dass ich den Code vor
dem Speichern in der TXT nochmal per strpos() durch-
gehe und wenn z.B. die mail()-Funktion benutzt wird,
das Speichern nicht zulasse.

Nach was wäre es noch empfehlenswert zu suchen,
um große Sicherheitslöcher zu schließen bzw. gibt es
etwas, dass ich auf gar keine Fall zulassen sollte?
nur mal angerissen:
http://de.php.net/manual/en/book.exec.php
http://www.php.net/manual/en/refs.basic.php.php
http://www.php.net/manual/en/refs.utilspec.cmdline.php
http://www.php.net/manual/en/refs.database.php
http://www.php.net/manual/en/refs.fileprocess.file.php
http://www.php.net/manual/en/refs.remote.mail.php
http://www.php.net/manual/en/refs.basic.session.php

dann noch den backtick operator. *außerdem* sollte
man die möglichkeit bedenken das php funktionen
verschlüsselt aufgerufen werden können.

es gibt bessere methoden sowas per konfiguration
oder php/runkit zu machen. aber ich kann nur sagen,
LASS ES!
__________________
elias ist offline   Mit Zitat antworten
Alt 15-04-2009, 12:27   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 43
Vielen Dank für die Antworten,
ich werd mir das jetzt nochmal genau überlegt,ob
ich das wirklich so wie geplant umsetzen werde ....

mfg tomy78
tomy78 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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 sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele