Indexchanger

Status
Für weitere Antworten geschlossen.

Sceptix

Mitglied
2 Dez. 2014
251
1.669
665
Ich habe in PHP n kleines Stückchen Code das die Index.html von meinem Server grabbt und sie in ein Textarea tut. Das klappt auch, aber ich brauche Hilfe beim Savecode. Bis jetzt verwend ich das hier:

Front-End:

HTML:
<textarea id="data">sampletext rofl rofl</textarea>
    <button id="save" onclick="save();return false;">Save</button>
    <div id="response"></div>
    <script>
    function save(){
    var response=document.getElementById("response");
    var data = 'data='+document.getElementById("data").value;
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange=function(){
      if (xmlhttp.readyState==4 && xmlhttp.status==200){
        response.innerHTML='<a href="/'+xmlhttp.responseText+'.txt">'+xmlhttp.responseText+'.txt</a>';
      }
    }
    xmlhttp.open("POST","save.php",true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(data);
    }
    </script>



Back-End:




PHP:
<?php
$post_data = $_POST['data'];
if (!empty($post_data)) {
    $dir = '../';
    $file = 'index';
    $filename = $dir.$file.'html';
    $handle = fopen($filename, "w");
    fwrite($handle, $post_data);
    fclose($handle);
    echo $file;
}
?>



Entweder bin ich zu blöd das Pathsystem von PHP zu verstehen oder mein Code ist falsch.

Schlussendlich will ich btw. das die index.html in der var/www/html geändert wird. ich bin halt ein verzeichnis höher als das, vielleicht hat es also mit dem path gedöns zu tun ._.

@Pascaaal
Du hast mir letzens schon geholen, vielleicht kannst du mir ja weiterhelfen.
 
Ich habe in PHP n kleines Stückchen Code das die Index.html von meinem Server grabbt und sie in ein Textarea tut. Das klappt auch, aber ich brauche Hilfe beim Savecode. Bis jetzt verwend ich das hier:

Front-End:

HTML:
<textarea id="data">sampletext rofl rofl</textarea>
    <button id="save" onclick="save();return false;">Save</button>
    <div id="response"></div>
    <script>
    function save(){
    var response=document.getElementById("response");
    var data = 'data='+document.getElementById("data").value;
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange=function(){
      if (xmlhttp.readyState==4 && xmlhttp.status==200){
        response.innerHTML='<a href="/'+xmlhttp.responseText+'.txt">'+xmlhttp.responseText+'.txt</a>';
      }
    }
    xmlhttp.open("POST","save.php",true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(data);
    }
    </script>



Back-End:




PHP:
<?php
$post_data = $_POST['data'];
if (!empty($post_data)) {
    $dir = '../';
    $file = 'index';
    $filename = $dir.$file.'html';
    $handle = fopen($filename, "w");
    fwrite($handle, $post_data);
    fclose($handle);
    echo $file;
}
?>



Entweder bin ich zu blöd das Pathsystem von PHP zu verstehen oder mein Code ist falsch.

Schlussendlich will ich btw. das die index.html in der var/www/html geändert wird. ich bin halt ein verzeichnis höher als das, vielleicht hat es also mit dem path gedöns zu tun ._.

@Pascaaal
Du hast mir letzens schon geholen, vielleicht kannst du mir ja weiterhelfen.
Das Problem ist, dass es nicht funktioniert oder? :)
 
Datei muss nicht unbedingt erstellt worden sein, allerdings sollte der user www-data (z.B. unter Linux) die vollen Rechte am Ordner haben, sprich chown -R /pfad/ www-data:www-data
 
Jeder, der selbst einen Webspace hat, sollte das Wort "chmod" schon einmal gehört haben. Gemeint sind damit die Berechtigungseinstellungen von Ordnern und Dateien. Diese setzen sich meistens über die Zahlen 4, 5, 6 und 7 zusammen, so z.B. 777. Genauere Erklärungen gibt es zuhauf im Web, darauf werde ich nun nicht genauer eingehen.

Worauf ich aber eingehen werde, ist die Tatsache, dass man häufig böse Blicke oder Bemerkungen erhält, sofern man vielen Dateien und Ordnern chmod 777 geben soll, also volle Berechtigungen aller Benutzer.
Hier ist es für viele ganz eindeutig: Man lässt zu, dass wirklich jeder Benutzer, sprich wir, jede Datei und jeden Ordner beliebig ändern kann. Das ist aber eine grobe Fehleinschätzung von Benutzern, die den chmod nicht richtig verstanden haben. Ja, es ist durchaus so, dass jeder Benutzer dir Dateien und Ordner abändern kann, allerdings bezieht sich der chmod auf Systembenutzer, die im System selbst angelegt sind. Ein Benutzer, wie es häufig verstanden wird, also ein Internetnutzer, kann erst dann die Dateien ändern, wenn er Zugriff auf einen Systembenutzer hat. Ist es schon so weit gekommen, ist der chmod praktisch egal, da man dann den chmod umgehen kann.

Dass Sicherheitslücken durch den chmod 777 geöffnet werden, stimmt. So kann wirklich jeder Systembenutzer die Dateien beliebig bearbeiten. Angriffe werden jedoch zumeist so durchgeführt, dass der Einbrecher bereits mit dem Systembenutzer in das System eindringt, welchem die Dateien gehören. Damit wäre dann jeglicher anderer chmod egal.

Hat man z.B. für den Webserver und den FTP-Server den gleichen Systembenutzer, so kann man auch allen Dateien chmod 644 und allen Ordnern chmod 755 geben und alles würde funktionieren. Es kommt lediglich auf die Konfiguration der Systembenutzer an, nicht auf die Benutzer, die man auf dem Server auch als Besucher der Website z.B. betrachtet.
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop