Script-dump
Auteur: svm - 03 september 2006 - 20:35 - Gekeurd door: Rens - Hits: 5729 - Aantal punten: 2.40 (5 stemmen)
Ik heb laatst een script-dump script geschreven.
Dus ik post deze ook maar hier.
Je kunt hierbij scripts dumpen en deze laten highlighten in PHP, PHP met MySql en Overig (geen AS).
Er zit ook een admin bij om de bestanden te bewerken en te verwijderen.
Alles zit in één php-bestand gestopt.
En de map wordt automatisch aangemaakt.
Er is geen download, omdat het slechts één bestand is (5,6 KB) en geen afbeeldingen bevat.
In het voorbeeld kun je inloggen met de volgende gegevens:
Gebruikersnaam: admin
Wachtwoord: test
Code:
<title>Script dump</title>
<?
////////////////////////////////////////////////
// script dump gescript door Stefan van Mierlo
// www.webmaster-planet.nl
////////////////////////////////////////////////
$dir = 'script_dump'; //de naam van de map waar de gedumpte scripts in komen
$ext = '.txt'; //de extentie die de pagina met het script dadelijk zal krijgen (met een punt)
$gebruikersnaam = "admin"; // gebruikersnaam voor de admin
$wachtwoord = "test"; // wachtwoord voor de admin
$self = $_SERVER['PHP_SELF'];
//map aanmaken als deze er niet is
if(!is_dir($dir)){
mkdir($dir, 0766);
}
if($_GET['admin'] == "admin") {
?>
<h2>Log in:</h2>
<form action="" method="post">
<input type="text" name="username" /><br />
<input type="password" name="password" /><br />
<input type="submit" name="submit" value="submit" />
</form>
<?
if($_POST['password'] == $wachtwoord && $_POST['username'] == $gebruikersnaam){
echo "Hier kun je de dumps beheren:
<table border='0' width='100%'>";
if($handle = opendir($dir)){
while(($read = readdir($handle)) !== false){
if($read != "." && $read != ".."){
$nummer = explode(".", $read);
echo "<tr><td width='30%'><a href='". $self ."?id=". $nummer[0] ."' target='_blanc'>Bekijk dump nummer ". $nummer[0] ."</a></td>";
echo "<td width='30%'><a href='".$self."?admin=bewerk&id=".$nummer[0]."'>Bewerk dump nummer ". $nummer[0] ."</a></td>";
echo "<td width='30%'><a href='".$self."?admin=verwijder&id=".$nummer[0]."'>Verwijder dump nummer ". $nummer[0] ."</a></td></tr>";
}
}
closedir($handle);
}
}
echo "</table>";
}
elseif($_GET['admin'] == "verwijder") {
if(unlink($dir."/".$_GET['id']."".$ext)){
echo "De dump is met succes verwijderd!<br />Je wordt terug gestuurd...";
}else{
echo "Er ging iets mis!<br />Je wordt terug gestuurd...";
}
echo "<meta http-equiv='refresh' content='3; URL=javascript: history.go(-1)'>";
}
elseif($_GET['admin'] == "bewerk") {
if(file_exists($dir."/".$_GET['id']."".$ext)){
$inhoud = file_get_contents($dir."/".$_GET['id']."".$ext);
if(strpos($inhoud, "$soort_ext_filehlgt=1;")){
$soort = "\$soort_ext_filehlgt=1;";
$inhoud = str_replace("\$soort_ext_filehlgt=1;", "", $inhoud);
}elseif(strpos($inhoud, "$soort_ext_filehlgt=2;")){
$soort = "\$soort_ext_filehlgt=2;";
$inhoud = str_replace("\$soort_ext_filehlgt=2;", "", $inhoud);
}
?>
<form action='' method="post">
<textarea rows="25" cols="100%" name="nieuw"><? echo $inhoud; ?></textarea> <br />
<select name="soort">
<option value="1" <? if($soort == "\$soort_ext_filehlgt=1;"){ echo "SELECTED"; } ?> >PHP</option>
<option value="2" <? if($soort == "\$soort_ext_filehlgt=2;"){ echo "SELECTED"; } ?> >Overig</option>
</select><br />
<input type="submit" name="submit" value="Bewerking opslaan">
</form>
<?
if(isset($submit)) {
$nieuw_zs = stripslashes($_POST['nieuw']);
$nieuw_zs = htmlentities($nieuw_zs, ENT_QUOTES);
$fp = fopen ($dir."/".$_GET['id']."".$ext, "w+");
fwrite ($fp, "\$soort_ext_filehlgt=".$_POST['soort'].";".$nieuw_zs);
fclose($fp);
echo "Je bestand is bewerkt.<br/>Je wordt terug gestuurd... <meta http-equiv='refresh' content='3; URL=javascript: history.go(-2)'>";
}
}else{
echo "Het bestand bestaat niet!";
}
}elseif(isset($_GET['id'])){
$bestand = $dir."/".$_GET['id']."".$ext;
if(is_file($bestand)){
$inhoud = file_get_contents($bestand);
if(strpos($inhoud, "$soort_ext_filehlgt=1;")){ //als het scriptsoort PHP is
$inhoud = html_entity_decode($inhoud, ENT_QUOTES);
$inhoud = str_replace("\$soort_ext_filehlgt=1;", "", $inhoud);
$highlighted_script = highlight_string($inhoud, 1);
}elseif(strpos($inhoud, "$soort_ext_filehlgt=2;")){ // als het scriptsoort overige is
$inhoud = str_replace("\$soort_ext_filehlgt=2;", "", $inhoud);
$highlighted_script = "<code>".nl2br($inhoud)."</code>";
$highlighted_script = preg_replace('!<(.*?)>!', "<font color='#0000BB'><\\1></font>", $highlighted_script);
$highlighted_script = preg_replace('!"(.*?)"!', "<font color='#DD0000'>"\\1"</font>", $highlighted_script);
$highlighted_script = preg_replace('!'(.*?)'!', "<font color='#DD0000'>'\\1'</font>", $highlighted_script);
$highlighted_script = preg_replace('!&(.*?);!', "<font color='#DDBB00'>&\\1;</font>", $highlighted_script);
}
?>
<title>Scriptdump - script <? echo $_GET['id']; ?></title>
<h2>Scriptdump - script <? echo $_GET['id']; ?></h2><br />
<table bgcolor='#E0E0E0' border='1'><tr><td>
<? echo $highlighted_script; ?>
</td></tr></table>
<?
} else {
echo "De scriptdump met het nummer <b>". $_GET['id'] ."</b> bestaat niet!";
}
}else{
?>
<p align="right"><a href="<? echo $_SERVER['PHP_SELF']; ?>?admin=admin">Admin</a></p>
Hier kun je scripts dumpen, om dan vervolgens te delen of voor het forum te gebruiken.<br />
Verder is het niet verplicht je naam in te vullen.<p />
<form action='' method='post'>
<b>Het script:</b><br />
<textarea rows="10" cols="40" name="script"></textarea><p />
<b>Soort:</b><br />
<select name="soort">
<option value="1">PHP</option>
<option value="1">PHP met MySql</option>
<option value="2">Anders (geen AS)</option>
</select><p />
<input type="submit" name="submit" value="Dump en deel!" />
</form>
<?
//als er op submit geklikt is velden controleren en een nieuwe naam geven en de pagina voor het script aanmaken
if(isset($_POST['submit'])) {
if(!empty($_POST['script'])) {
$script = stripslashes($_POST['script']);
//het script online zetten dmv de fopen-funtie
for($i=1;is_file($dir."/".$i."".$ext);$i++); //het script een naam geven
$inhoud = "\$soort_ext_filehlgt=".$_POST['soort'].";";
$inhoud = $inhoud."".$script;
$inhoud = htmlentities($inhoud, ENT_QUOTES);
$fp = fopen($dir.'/'.$i."".$ext, 'a');
fwrite($fp, $inhoud);
fclose($fp);
echo "Je dump is met succes gepost!<br /><a href='".$_SERVER['PHP_SELF']."?id=".$i."'>Klik hier</a> om hem te bekijken.";
} else {
echo "Je hebt geen script ingevuld!";
}
}
}
?>
<title>Script dump</title>
<?
////////////////////////////////////////////////
// script dump gescript door Stefan van Mierlo
// www.webmaster-planet.nl
////////////////////////////////////////////////
$dir = 'script_dump' ; //de naam van de map waar de gedumpte scripts in komen
$ext = '.txt' ; //de extentie die de pagina met het script dadelijk zal krijgen (met een punt)
$gebruikersnaam = "admin" ; // gebruikersnaam voor de admin
$wachtwoord = "test" ; // wachtwoord voor de admin
$self = $_SERVER [ 'PHP_SELF' ] ;
//map aanmaken als deze er niet is
}
if ( $_GET [ 'admin' ] == "admin" ) {
?>
<h2>Log in:</h2>
<form action="" method="post">
<input type="text" name="username" /><br />
<input type="password" name="password" /><br />
<input type="submit" name="submit" value="submit" />
</form>
<?
if ( $_POST [ 'password' ] == $wachtwoord && $_POST [ 'username' ] == $gebruikersnaam ) {
echo "Hier kun je de dumps beheren: <table border='0' width='100%'>" ;
while ( ( $read = readdir ( $handle ) ) !== false ) { if ( $read != "." && $read != ".." ) {
echo "<tr><td width='30%'><a href='" . $self . "?id=" . $nummer [ 0 ] . "' target='_blanc'>Bekijk dump nummer " . $nummer [ 0 ] . "</a></td>" ; echo "<td width='30%'><a href='" . $self . "?admin=bewerk&id=" . $nummer [ 0 ] . "'>Bewerk dump nummer " . $nummer [ 0 ] . "</a></td>" ; echo "<td width='30%'><a href='" . $self . "?admin=verwijder&id=" . $nummer [ 0 ] . "'>Verwijder dump nummer " . $nummer [ 0 ] . "</a></td></tr>" ; }
}
}
}
}
elseif ( $_GET [ 'admin' ] == "verwijder" ) {
if ( unlink ( $dir . "/" . $_GET [ 'id' ] . "" . $ext ) ) { echo "De dump is met succes verwijderd!<br />Je wordt terug gestuurd..." ; } else {
echo "Er ging iets mis!<br />Je wordt terug gestuurd..." ; }
echo "<meta http-equiv='refresh' content='3; URL=javascript: history.go(-1)'>" ; }
elseif ( $_GET [ 'admin' ] == "bewerk" ) {
if ( strpos ( $inhoud , "$soort_ext_filehlgt =1;" ) ) { $soort = "\$ soort_ext_filehlgt=1;" ;
$inhoud = str_replace ( "\$ soort_ext_filehlgt=1;" , "" , $inhoud ) ; } elseif ( strpos ( $inhoud , "$soort_ext_filehlgt =2;" ) ) { $soort = "\$ soort_ext_filehlgt=2;" ;
$inhoud = str_replace ( "\$ soort_ext_filehlgt=2;" , "" , $inhoud ) ; }
?>
<form action='' method="post">
<textarea rows="25" cols="100%" name="nieuw">
<? echo $inhoud ; ?> </textarea> <br />
<select name="soort">
<option value="1"
<? if ( $soort == "\$ soort_ext_filehlgt=1;" ) { echo "SELECTED" ; } ?> >PHP</option>
<option value="2"
<? if ( $soort == "\$ soort_ext_filehlgt=2;" ) { echo "SELECTED" ; } ?> >Overig</option>
</select><br />
<input type="submit" name="submit" value="Bewerking opslaan">
</form>
<?
$fp = fopen ( $dir . "/" . $_GET [ 'id' ] . "" . $ext , "w+" ) ; fwrite ( $fp , "\$ soort_ext_filehlgt=" . $_POST [ 'soort' ] . ";" . $nieuw_zs ) ; echo "Je bestand is bewerkt.<br/>Je wordt terug gestuurd... <meta http-equiv='refresh' content='3; URL=javascript: history.go(-2)'>" ; }
} else {
echo "Het bestand bestaat niet!" ; }
} elseif ( isset ( $_GET [ 'id' ] ) ) { $bestand = $dir . "/" . $_GET [ 'id' ] . "" . $ext ;
if ( strpos ( $inhoud , "$soort_ext_filehlgt =1;" ) ) { //als het scriptsoort PHP is $inhoud = str_replace ( "\$ soort_ext_filehlgt=1;" , "" , $inhoud ) ; } elseif ( strpos ( $inhoud , "$soort_ext_filehlgt =2;" ) ) { // als het scriptsoort overige is $inhoud = str_replace ( "\$ soort_ext_filehlgt=2;" , "" , $inhoud ) ; $highlighted_script = "<code>" . nl2br ( $inhoud ) . "</code>" ; $highlighted_script = preg_replace ( '!<(.*?)>!' , "<font color='#0000BB'><\\1 ></font>" , $highlighted_script ) ; $highlighted_script = preg_replace ( '!"(.*?)"!' , "<font color='#DD0000'>"\\1 "</font>" , $highlighted_script ) ; $highlighted_script = preg_replace ( '!'(.*?)'!' , "<font color='#DD0000'>'\\1 '</font>" , $highlighted_script ) ; $highlighted_script = preg_replace ( '!&(.*?);!' , "<font color='#DDBB00'>&\\1 ;</font>" , $highlighted_script ) ; }
?>
<title>Scriptdump - script
<? echo $_GET [ 'id' ] ; ?> </title>
<h2>Scriptdump - script
<? echo $_GET [ 'id' ] ; ?> </h2><br />
<table bgcolor='#E0E0E0' border='1'><tr><td>
<? echo $highlighted_script ; ?> </td></tr></table>
<?
} else {
echo "De scriptdump met het nummer <b>" . $_GET [ 'id' ] . "</b> bestaat niet!" ; }
} else {
?>
<p align="right"><a href="
<? echo $_SERVER [ 'PHP_SELF' ] ; ?> ?admin=admin">Admin</a></p>
Hier kun je scripts dumpen, om dan vervolgens te delen of voor het forum te gebruiken.<br />
Verder is het niet verplicht je naam in te vullen.<p />
<form action='' method='post'>
<b>Het script:</b><br />
<textarea rows="10" cols="40" name="script"></textarea><p />
<b>Soort:</b><br />
<select name="soort">
<option value="1">PHP</option>
<option value="1">PHP met MySql</option>
<option value="2">Anders (geen AS)</option>
</select><p />
<input type="submit" name="submit" value="Dump en deel!" />
</form>
<?
//als er op submit geklikt is velden controleren en een nieuwe naam geven en de pagina voor het script aanmaken
if ( isset ( $_POST [ 'submit' ] ) ) { if ( ! empty ( $_POST [ 'script' ] ) ) {
//het script online zetten dmv de fopen-funtie
for ( $i = 1 ; is_file( $dir . "/" . $i . "" . $ext ) ; $i ++ ) ; //het script een naam geven
$inhoud = "\$ soort_ext_filehlgt=" . $_POST [ 'soort' ] . ";" ;
$inhoud = $inhoud . "" . $script ;
$fp = fopen ( $dir . '/' . $i . "" . $ext , 'a' ) ; echo "Je dump is met succes gepost!<br /><a href='" . $_SERVER [ 'PHP_SELF' ] . "?id=" . $i . "'>Klik hier</a> om hem te bekijken." ; } else {
echo "Je hebt geen script ingevuld!" ; }
}
}
?>
Download code (.txt)
Stemmen
Niet ingelogd.