scripts goed genoeg beveiligd?

Status
Niet open voor verdere reacties.

whisper380

Terugkerende gebruiker
Lid geworden
12 jan 2009
Berichten
1.247
Hey,
ik wil even mijn php scriptjes laten checken of ze zo goed genoeg beveiligd zijn:
PHP:
<?php
 include("connect.php");
 
 if (isset($_POST["submit"]))
  {
  	 $bVerbodenWoord = false;
    $wordlist = file_get_contents("./wordlist.txt");
    $aVerboden = explode("\n",$wordlist);
    
    foreach($aVerboden as $sVerboden)
    {
        if(strstr($sVerboden, $_POST['bericht']))
        {
            $bVerbodenWoord = true;
            break;
        }
    }
    
    if($bVerbodenWoord == true)
    {
        echo("Er staan woorden in uw bericht die niet zijn toegestaan!<br>");
        echo("<a href='gastenboek.php'>Opnieuw proberen</a>");
    }
   
   	else if (!empty($_POST["naam"]) OR !empty($_POST["bericht"]))
    	{
      mysql_query("INSERT INTO gastenboek (naam,bericht) VALUES ('". mysql_real_escape_string(strip_tags($_POST["naam"])) ."','". mysql_real_escape_string(strip_tags($_POST["bericht"])) ."')") 
      			    or die (mysql_error());
      echo ("Het bericht is succesvol toegevoegd<br>");
      echo ("<a href='gastenboek_l.php'>Lees hier uw en andere reacties in het gastenboek</a>");
    	}
   else
   echo ("Er is iets niet ingevuld, probeer het opnieuw");
  }
?>

PHP:
<?php
 include("connect.php");
 
 	$query = mysql_query("SELECT naam,bericht FROM gastenboek ORDER BY id DESC") or die (mysql_error());
 	while ($list = mysql_fetch_assoc($query))
		{
 		 echo "
		 <hr />\n";
 
		 echo "
	    <h5>". $list["naam"] ."</h5>
		 \n";
 
		 echo ("<br>"); 
 
		 echo nl2br("<p class='berichtgb'>". $list["bericht"] ."</p>");
 		 echo ("<br>");
		 echo "
		 <hr />\n";
		}
?>

PHP:
<?php
	session_start();
 
	$randomnr = rand(1000, 9999);
	$_SESSION['randomnr2'] = md5($randomnr);
 
	$im = imagecreatetruecolor(100, 38);
 
	$white = imagecolorallocate($im, 255, 255, 255);
	$grey = imagecolorallocate($im, 150, 150, 150);
	$black = imagecolorallocate($im, 0, 0, 0);
 
	imagefilledrectangle($im, 0, 0, 200, 35, $black);

	//path to font - this is just an example you can use any font you like:
	
	$font = dirName(__FILE__).'/font/karate/Karate.ttf';

	imagettftext($im, 20, 4, 22, 30, $grey, $font, $randomnr);
 
	imagettftext($im, 20, 4, 15, 32, $white, $font, $randomnr);
 	
	//prevent caching on client side:
	header("Expires: Wed, 1 Jan 1997 00:00:00 GMT");
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
	header("Cache-Control: no-store, no-cache, must-revalidate");
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");
 
	header ("Content-type: image/gif");
	imagegif($im);
	imagedestroy($im);
?>

PHP:
<?php
	
	$naam = mysql_real_escape_string(strip_tags($_POST['naam']));
	$bericht = mysql_real_escape_string(strip_tags($_POST['bericht']));	
	
	if (md5(mysql_real_escape_string($_POST['norobot'])) == $_SESSION['randomnr2'])	{ 
		// here you  place code to be executed if the captcha test passes
		echo ("captcha succes!");
		?>
		<form action="gastenboek_toevoegenreactie.php" method="POST">
		<input type="hidden" name="naam" value="<?php echo $naam; ?>" />
		<input type="hidden" name="bericht" value="<?php echo $bericht; ?>" />
		<input type="submit" name="submit" value="verder" />
		</form>
		<?php
		
	}	else {  
		// here you  place code to be executed if the captcha test fails
		
			echo "U heeft een foute code ingevoerd.<br>Probeer het <a href='gastenboek.php'>opniew</a>";
	}
?>

laat het maar weten.
 
Hoe wordt deze file beschermd
$wordlist = file_get_contents("./wordlist.txt");
als iemand deze file kan verwijderen en of komt dan ook de code zichtbaar ??

van sqlinjectie zou je goed moeten zitten denk ik maar en je hebt er beter enkel live staan om dit te weten te komen.
 
Hoe wordt deze file beschermd [...] als iemand deze file kan verwijderen en of komt dan ook de code zichtbaar ??
Als iemand 'deze' file kan verwijderen dan heeft die persoon waarschijnlijk toegang tot alle bestanden, dus dat is niet echt iets om je zorgen over te maken...
 
@That Guy U weet waarom .htaccess staat hoop ik en wat als je 777 geeft aan je bestand ???
en mogelijks heb je meerdere scripts op je server staat die mogelijk ook bestande kunnen aanpassen bvb een onschuldig product of imagegallery die een del mogelijkheid heeft. dan spreken we nog niet of phpinjectie of sqlinjectie of zelfs js script die dan acties onderneemt om gebruikers hun login te versturen ect ect
Beveiligen is al een job op zich en dan spreken we nog niet over firewall en server zelf maar genoeg ge***
bekijk http://ilia.ws/archives/5_Top_10_ways_to_crash_PHP.html
 
hey bedankt voor de reacties.
Helaas zal het moeilijk worden om mijn site deze maand nog online te krijgen.
Ik hoop de site eind mei online te zetten wanneer deze helemaal af is.
Alleen omdat het om een computerhulp site zal het moeilijk worden om deze hier te laten controleren omdat in de regels staat dat dit niet mag.
Misschien dat ik dan wel even voor een paar dagen iets kan regelen met een moderator.
maar dat is een zorg voor later.

Wanneer de site online staat vraag ik jullie zeker om het gastenboek te testen.
Alvast bedankt. Als iemand nog aanvullingen heeft laat maar horen:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan