Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Hiekkalaatikko

Lol-z [30.05.2006 16:10:00]

#

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?

miiro [30.05.2006 16:12:36]

#

Ö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ä.

Metabolix [30.05.2006 16:16:52]

#

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.

tkarkkainen [30.05.2006 16:19:55]

#

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.

ajv [30.05.2006 16:25:52]

#

Yksi varteenotettava vaihtoehto on asentaa palvelinohjelmisto myös sille omalle koneelle.

Olga [30.05.2006 17:35:35]

#

Tai käyttää editoria jossa ftp-tallennuksen mahdollisuus.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta