Miten vois tehä sellasen ohjelman PHP:llä että siinä vois suorittaa koodeja suoraan selaimesta ja sit se palvelin suorittaa ne ettei tarvi niiku eka sendii filuja palvelimelle ja sitten vasta kokeilla?
Öh...en nyt oikein ymmärtänyt, mutta sen perusteella mitä pystyy viestistä päättelemään, sanoisin: et mitenkään tai javaskriptillä jotenki ((purkka)virityksen) tekemällä.
Sattuu nyt olemaan tuollainen valmiina, niin laitan tähän:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Language" content="fi" /> <title>Ajosivu</title> </head> <body> <h1>Suoritussivu</h1> <?php // Ajettava teksti $str_ajettava = ''; // Jos on jotain ajettavaa lähetetty if (isset($_POST['ajettava'])) { echo "<hr />\n<h2>Edellisen tulostus</h2>\n<p><textarea rows=\"20\" cols=\"78\">"; // Tiettyjä escapetuksia pois ajettavasta; Muokkaa tarpeen mukaan $str_ajettava = $_POST['ajettava']; $str_ajettava = str_replace("\\\\", "\\", $str_ajettava); $str_ajettava = str_replace("\\\"", "\"", $str_ajettava); $str_ajettava = str_replace("\\'", "'", $str_ajettava); eval($str_ajettava); echo "</textarea></p>"; } ?> <hr /> <h2>Ajettava</h2> <form action="admin_run_script.php" method="post"> <p><textarea name="ajettava" cols="78" rows="20"><?php echo $str_ajettava; ?></textarea></p> <p><input type="submit" value="Aja" /></p> </form> <hr /> </body> </html>
Eli HTML-formilla ja eval-funktiolla. Kannattaa jonkinlaista suojaussysteemiä kehettää, ettei kuka tahansa pääse suorittelemaan. Helpointa on lisätä formille password-kenttä ja tarkistaa sen arvo tuossa samassa if-lauseessa.
Siis haluat koodata php-tiedostoja suoraan palvelimelle selaimen kautta? Tokihan tuo mahdollista on, vieläpä ilman mitään JS-purkkaa. Yksinkertaisesti vain lomake, johon koodi kirjoitellaan, ja lomakkeenkäsittelijä sitten tallentaa tiedoston. Chmodauksia saattaa joutua tekemään. Mbnetin sivutilassa taitaa olla tämäntyyppinen systeemi jo ihan valmiinakin, käytettävyydeltään se on niin hyvä kuin tällaisesta voi tulla.
Turvallisuudesta kannattaa toki pitää hyvää huolta.
Yksi varteenotettava vaihtoehto on asentaa palvelinohjelmisto myös sille omalle koneelle.
Tai käyttää editoria jossa ftp-tallennuksen mahdollisuus.
Aihe on jo aika vanha, joten et voi enää vastata siihen.