Instantly share code, notes, and snippets.

Embed
What would you like to do?
Verbesserte version
<?php
# Soll das leer sein?
$path = '';
try {
# Prüfen ob "url" in GET übergeben wurde
if (isset($_GET['url'])) {
# Prüfen ob "wait" in GET übergeben wurde und eine gültige Zahl ist
if (isset($_GET['wait']) && is_numeric($_GET['wait'])) {
# Eingabe aus GET escapen um shell-injection zu verhindern
$url = escapeshellarg(trim($_GET['url']));
$wait = escapeshellarg((int)$_GET['wait']);
# Befehl ausführen
$output = shell_exec("python {$path} {$url} {$wait}");
# shell_exec gibt NULL zurück wenn ein Fehler aufgetreten ist oder
# der Befehl keine Ausgabe erzeugt
if ($output === null) {
echo "It seems like the command execution failed or didn't produce any output.";
} else {
# Ausgabe des Befehls anzeigen
echo "<pre>" . print_r($output, true) . "</pre>";
}
} else {
throw new \Exception("No valid timeout specified!");
}
} else {
throw new \Exception("No url specified!");
}
} catch (\Exception $e) {
echo json_encode(['error' => $e->getMessage()]);
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment