Hoi,

Ik had me nieuwssysteem beveiligd(dat het alleen toegankelijk is voor leden).

Nu krijg ik een witte pagina terwijl er Geencrewlid moet staan??.

www.jznwlnl.org/includes/nieuws/voegtoe.php

<?php
session_start();

if ($_SESSION['login'] == 'Inloggen') {

//config includen
include("config.php");
error_reporting(E_ALL);

// het script
if( isset($_POST['submit']))
{
$query = mysql_query("INSERT INTO site_nieuws (naam, titel, bericht, soort, datum)

VALUES('".$_POST['who']."','".$_POST['title']."','".$_POST['message']."','".$_POST['what']."',NOW())") or die(mysql_error());

if( $query )
{
echo "Nieuwsbericht is geplaatst";
} else {
echo "Er is wat foutgegaan";
}
} else {
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Bericht posten</title>
</head>
<body>
<form action="voegtoe.php" method="post">
<table width="268">
<tr>
<td width="46">Door:</td>
<td width="1225"><Input type="text" name="who"></td>
</tr>
<tr>
<td>Soort:</td>
<td><input type="text" name="what"></td>
</tr>
<tr>
<td>Titel:</td>
<td><input type="text" name="title"></td>
</tr>
<tr>
<td>Bericht:</td>
<td><textarea rows="10" cols="30" name="message"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Toevoegen"></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
}
else
{
echo "Geen Crewlid":
}
?>
Begin je code eens met de volgende regels:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van je script
?>
Ik zie geen errors. maar mijn host doet op dit moment even gaar.
Jznwlnl

Heb je ooit gehoord van sql injection???
Moet je eens naar phpmyweb.net gaan, is nieuw volgensmij, maar het werkt wel goed als je weet hoe je het moet installeren. Is tegen dat soort sql injections.
Het is gewoon het zelfde scriptje van me gastenboek ongeveer maar deze werkt niet?

Ik heb wel gehoord van SQL injection.

ik ga de site even bekijken.

snap er weinig van van die site ??, er is niet zoveel boeiends te vinden. ik weet wel wat SQL injection inhoud. ik had het volgens mij ook in dit script toegepast?.

Hoe fix ik dit probleem??

<?php
session_start();

if ($_SESSION['login'] == 'Inloggen') {

// Include Config
include("config.php");

//Error Reporting
error_reporting(E_ALL);
// het script
if( isset($_POST['submit']))
{
$query = mysql_query("INSERT INTO site_nieuws (naam, titel, bericht, soort, datum)

VALUES('".$_POST['who']."','".$_POST['title']."','".$_POST['message']."','".$_POST['what']."',NOW())") or die(mysql_error());

if( $query )
{
echo "Nieuwsbericht is geplaatst";
} else {
echo "Er is wat foutgegaan";
}
} else {
?>
<form action="voegtoe.php" method="post">
<table width="268">
<tr>
<td width="46">Door:</td>
<td width="1225"><Input type="text" name="who"></td>
</tr>
<tr>
<td>Soort:</td>
<td><input type="text" name="what"></td>
</tr>
<tr>
<td>Titel:</td>
<td><input type="text" name="title"></td>
</tr>
<tr>
<td>Bericht:</td>
<td><textarea rows="10" cols="30" name="message"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Toevoegen"></td>
</tr>
</table>
</form>
<?php
}
)
else
{
echo "niet welkom";
}
?>
Oh, jij past zelf SQL injection toe, das makkelijk, kunnen de hackers op hun achterwerk blijven zitten.
Leesvoer

Maar blijkbaar is $_SESSION['login'] gelijk aan 'Inloggen', sluit je browser eens en probeer opnieuw. Mocht het werken, dan moet je even naar je uitlog script kijken, en anders zorgt er ergens iets voor dat $_SESSION['login'] met 'Inloggen' gevuld wordt.
Heb het inmiddels opgelost.

moest ) vervangen onderin in }

ik ga ook dat SQL Injection toepassen. bedankt :)
Even voor de duidelijkheid, SQL injection pas je niet toe, dat ga je tegen. En wel door wat je in je database stopt te checken op rare dingen.

Reageren