PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellscript über php ausführen



Gargi
02.08.2009, 16:17
Natürlich kann man über ein php Script ein Shellscript auf seinen Server ausführen. Wir machen das einfach einmal über zwei Dateien. Die erste Datei fragt einen Sicherheitscode ab. Sollte Dieser richtig eingegeben werden wird das Script ausgeführt, falls nicht kommt eine entsprechende Fehlermeldung.

Aus Sicherheitsgründen sollte das natürlich noch via einem .htaccess gesichert werden.

Das Eingabescript schaut dann ungefähr so aus:


<html>
<body>

Bitte geben Sie den Sicherheitscode ein:<p>
<form action = "ergebnis.php" method = "post">
<input type= "password" name = "code" maxlength="10" > Code<p>
<input type = "submit">
<input type = "reset">
</form>

</body>
</html>
(eingabe.html)

Das auszuführende Script schaut da so aus:


<html>
<body>
<?php

$passwort = DEINPASSWORT;

if($_POST["code"]==$passwort)
echo exec('/pfad/zum/script.sh')."Alles klar, Script ausgef&uuml;hrt.";
else
echo "Falsches Passwort, bitte noch einmal probieren!<br />
<form action = \"eingabe.html\">
<input type = \"submit\" value = \"Zur&uuml;ck zur Passworteingabe\">
</form>";
?>

</body>
</html>
(ergebnis.php)

Eingabefeld:
http://www.gargi.org/stuff/sonstiges/script_php1.png

Positiv:
http://www.gargi.org/stuff/sonstiges/script_php2.png

Falsches Passwort:
http://www.gargi.org/stuff/sonstiges/script_php3.png

Der Kernbefehl, der eben das Script ausführt ist

echo exec('/pfad/zum/script.sh');

Hier hinterlegt bitte das Script. Allerdings bedenkt, dass das Script nur mit den Rechten des Webservers/Webusers ausgeführt werden kann. Also entsprechende Befehle, die Rootrechte bedürfen gehen damit (zu Recht!!!) nicht.

cu
Gargi