[ Davor Grubelić @ 26.06.2006. 02:27 ] @
eto sad se ja baš malo zezam sa highlightom koda i padne mi na pamet jedan ideja koju bi, ako ju je moguće provesti u djelo, htio i napraviti. pa eto da pitam vas da li je moguće da se napravi skripta kojom bi uneo u neki <textarea> neki PHP kod, proslijedio ga serveru i da server izvrši taj kod i vrati rezultat. ako me još uvijek netko nije razumio ebo primjer:


znači u <textarea> unesem recimo slijedeći kod:

Code:

<?php

$var1 = 5;
$var2 = 10;

$var3 = $var1 + $var2;

echo "Zbroj dva broja je: " . $var3;

?>

i u output u pregledniku dobijem:
Code:

Zbroj dva broja je: 10


eto jedna luda ideja pa da se malo bacimo svi zajedno na razmišljanje!!!
nadam se dobrim odgovorima!






Y

[Ovu poruku je menjao Davor Grubelić dana 26.06.2006. u 03:37 GMT+1]
[ broker @ 26.06.2006. 03:05 ] @
Nije to nikakav problem uraditi. Samo snimi kod u neku privremenu datoteku i izvrsi ga. Vodi racuna o sigurnosti, jer ce ti to izvrsiti svaki kod koji neko posalje, pa i onaj koji nije dobronameran prema serveru.
[ Davor Grubelić @ 26.06.2006. 03:16 ] @
Da, evo i koda. Bar privermeni (još u razvojnoj fazi).

Code:

<html>
<head>
    <title>Izvršavač PHP kodova</title>
</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
    <textarea cols="40" rows="20" name="string"></textarea>
    <input type="submit" name="izvrsi" value="Izvrši">
</form>

<?php

$file_name = "execute.php";

if (isset($_POST['string']) and !empty($_POST['string'])) {
    $exe_string = $_POST['string'];
    if (file_exists($file_name)) {
        $fp = fopen($file_name, "w");
    }
    else {
        echo "Datoteka nije pronađena!";
    }
    if (!fwrite($fp, stripslashes($exe_string))) {
        echo "Nije moguće pisati u datoteku!";
    }
    fclose($fp);
}

if (file_exists($file_name)) {
    include($file_name);
}

?>
</body>
</html>


Da ovo sad izvršava svaki kod koji se upiše u polje. Sjetio sam se rješenja kad sam kliknuo da pošalje post ovdje na forum. i eto kod je već gotov. To sam radio čisto da sebe riješim dvoumice i pitanja dali je moguće napraviti ili ne. Eto sad vidim da je.
[ zira @ 26.06.2006. 04:34 ] @
Pozdrav,

Mozda je ovako lakse:

http://www.php.net/eval
[ Davor Grubelić @ 27.06.2006. 00:47 ] @
Evo ljudi. Jedan mali projekt namjenjen početnicima.
A kako to?
Pošto ljudi koji tek počinju učiti php imaju puno pitanja na koja, istina, većinom dobiju dobar odgovor odlučio sam riješiti bar jedan. A to je pitanje editora. Netko se ne može odlučiti koji bi editor koristio u samim počecima, pa evo jednog jednostavnog rješenja
2 u 1. -> Editor i Preglednik
Nadam se da će bar netko probat koristit.
I ako i bude, očekujem kritike i prijedloge.

[Ovu poruku je menjao Davor Grubelić dana 27.06.2006. u 02:03 GMT+1]
[ 1r0nM4n @ 27.06.2006. 10:22 ] @
Meni i da platiš, ne bih stavio ovu skriptu na svoj sajt
Jel znaš koliku sigurnosnu pretnju predstavlja ovo?

A što se tiče onoga što radi skripta...
Kada napišem, na primer:
Code:
<?php
echo "Nenad";
?>

Skripta lepo to sve odradi...I kada kliknem na "Natrag", ispiše se ovo:
Code:
<?php
echo \"Nenad\";
?>

Što ne bi trebalo da se desi

To su neki moji utisci posle polaminutnog testiranja.
Inače mislim da je ideja odlična ali, kao što sam već naveo, predstavlja veliku sigurnosnu pretnju!

p0z

[ Davor Grubelić @ 27.06.2006. 11:11 ] @
kao što sam rekao, ova skripta nije namjenjena publiciranju na web stranicama. već je namjenjena php početnicima.
nešto kao offline editor.
e kod mene to sve radi lijepo. sve što trebaš napravit je u textarea stripslashes($_session["string"]);
nikakv problem.
al eto, bar je netko probao koristit ovu skriptu.
[ Jezdimir Lončar @ 27.06.2006. 13:26 ] @
Da...
Ja cu je postaviti na jezdo.com ... Mozda :D
Uglavnom, skripta radi sasvim OK. Mislim da bi trebao postaviti prije izvrsenja koda kod koji je unesen + php code highlight. I jos bi trebao napraviti da ako se ne unesu <?php i ?> moze izvrsit kod...
[ Davor Grubelić @ 27.06.2006. 13:52 ] @
Citat:
Neohacker:
I jos bi trebao napraviti da ako se ne unesu <?php i ?> moze izvrsit kod...


pošto je skripta prvenstveno namjenjena početnicima, nebi trebalo učiti ljude da izostavljaju "<?php i ?>", iako u manualu piše da se u php interpreteru izvršava kod koji je između "<?php i ?>".
odlično za prve korake u PHP svijetu...

možda bi prije postavljanja trebao pričekati neku stabilniju i bolju verziju verziju...


[Ovu poruku je menjao Davor Grubelić dana 27.06.2006. u 15:39 GMT+1]
[ flylord @ 27.06.2006. 14:49 ] @
hehe, ideja jeste opasna, to stoji, ali se koristi u realnom svetu. Ja ima razvijen ceo jedan site (popularnost mu je na nivou es-a) gde se kompletan public interface generise kroz tako uneti php kod. Admin unosi php i html kod kroz texteara polja, i tako pravi php fajlove i html templejte, i onda se pomocu toga generisu cisti HTML fajlovi (staticki site). Tako da ideja moze da bude dobra, i korisna, ali samo za odredjene primene, nikako za neki sistem gde ce siroke narodne mase moci da unose te fajlove.