Hoi,

Ik heb een nieuwsscript maar de tekst die de gebruiker in het CMS kan invoeren wordt niet gechecked voordat het de DATABASE ingaat. Ik heb gehoord dat dat kan zorgen voor grote problemen.
Iemand een scriptje hoe ik eerst kan checken of de tekst geen rare SQL queries bevat?

dankje!

Marije
Ik zit al voor je te kijken in de queery waar een 'of " te veel of te weinig is... Blijf dit lastig vinden!!
Volgens mij met die ( ) aan het begin en eind.
Deze kleuren bij mij in mijn editor niet goed dus kloppen dan niet.
hmm geen idee. Heeft het niets te maken met de dubbele ' en " ?

<?php
('', '" . safeMysqlInput( $_POST['titel'] ) ."', '" . safeMysqlInput( $_POST['msg'] . "', '" . safeMysqlInput( $_POST['mydate'] . "', '" . safeMysqlInput( $_POST['kop'] . "')";
?>


Waarvoor staat dit '' aan het begin van de query als ik vragen mag?
Ik keek even naar jou script pim, en ik dacht dit te zien:
$_PEST['kop']

;)

Post hier de query die je gebruikt & de error die je krijgt... dan is het wat makkelijker voor ons :D
$sql = "INSERT INTO nieuws (id, titel, msg, datum, kop) VALUES

ID dus :)
@ lissy:
Ik weet het niet, maar het geeft sowieso een fout. Het moet namelijk zijn:

<?

$sql = "INSERT INTO nieuws (id, titel, msg, datum, kop) VALUES ('', '". safeMysqlInput( $_POST['titel'] ) ."', '" . safeMysqlInput( $_POST['msg'] . "', '" . safeMysqlInput($_POST['mydate'] . "', '" . safeMysqlInput( $_POST['kop'] . "')";
?>
Parse error: parse error, unexpected ';' in /home/users/conceftp/conceptm.nl/freevoice2/fvbeheer/pages/00nieuws.php on line 68


veroorzaakt door deze code :

if ($_GET[show] == "add" || $_POST["show"] == "add")
{
if ($_POST["titel"] && $_POST["msg"] && $_POST["mydate"] && $_POST["kop"])
{

$sql = "INSERT INTO nieuws (id, titel, msg, datum, kop) VALUES ('', '" . safeMysqlInput( $_POST['titel'] ) ."', '" . safeMysqlInput( $_POST['msg'] . "', '" . safeMysqlInput( $_POST['mydate'] . "', '" . safeMysqlInput( $_POST['kop'] . "')";

$res = mysql_query($sql);

Wat je doet kan voor problemen zorgen:

Als Magic Quotes aan staat , dan draai je dubbel addslashes , en krijg je de slashes dus daadwerkelijk in je text te staan..

EDIT: Hij draait dan geloof ik ook dubbel mysql_real_escape_string , en ik weet niet wat er dan gebeurd.. ( volgens mij is dat juist onveilig dan)
@ Lapidi : Ik probeer altijd de oplossingen te lezen en te begrijpen en probeer dan er wat van te leren vandaar mijn vraag. Bedankt voor je uitleg en juiste queery ;0)

Reageren