Invoer php beveiligen

Hier vind je alles met betrekking tot PHP en MySQL.

Invoer php beveiligen

Berichtdoor Michael » wo 08 dec 2010, 10:09

Voor mijn invoer van films in mijn backend heb gebruik ik op dit moment, dit verwerkingsbestandje. Nu zit ik met een paar vragen is het slim om dit te laten verwerken in een apart bestandje, dus niet op dezelfde pagina als waar de Form tag staat?
En ten tweede wat is de beste manier om mijn invoer te beveiligen en te controleren tegen rotzooi?

Code: Selecteer alles
<?
include '../../mysql.php';

// html variabelen ophalen
$titel = $_POST['titel'];
$content = $_POST['content'];
$movieart = $_POST['movieart'];
$genre = $_POST['genre'];
$releas = $_POST['releas'];
$regie = $_POST['regie'];
$taal = $_POST['taal'];
$duur = $_POST['duur'];
$officiele_site = $_POST['officiele_site'];
// sql insert die je in de database gaat doen

$sql ="INSERT INTO films(titel, content, movieart, genre, releas, regie, taal, duur, officiele_site)
VALUES ('".$titel."', '".$content."', '".$movieart."', '".$genre."', '".$releas."', '".$regie."', '".$taal."', '".$duur."', '".$officiele_site."')";
//uitvoeren van de query :

if (!($temp = mysql_query($sql,$connection)))
showerror();


header ( "Location: http://skyna.nl/admin/films" );
?>
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: Invoer php beveiligen

Berichtdoor Davey » wo 08 dec 2010, 10:24

Sowieso eerst zorgen dat niemand in je backend komt, maar dat zit wel goed volgens mij ;). Verder altijd escapen, dus i.p.v. $_POST['titel'] in de database te zetten, gebruik je mysql_real_escape_string($_POST['titel']). Dat is voorlopig wel voldoende!

Tot slot zou ik de laatste 3 regels even veranderen in dit:
Code: Selecteer alles
if (!($temp = mysql_query($sql,$connection)))
showerror();
else
header ( "Location: http://skyna.nl/admin/films" );


Zoals je het nu hebt wordt ie altijd geredirect, ook als er een error is (al krijg je dan waarschijnlijk een foutmelding omdat je de header aanroept nadat er content is verschenen).
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland

Re: Invoer php beveiligen

Berichtdoor Michael » wo 08 dec 2010, 11:03

Thanks voor de snelle reactie, maar is het dan met mysql_real_escape_string niet meer mogelijk om "lege" regels in te voeren?
Michael
 
Berichten: 83
Geregistreerd: zo 21 maart 2010, 20:03
Woonplaats: Nijkerk

Re: Invoer php beveiligen

Berichtdoor Davey » wo 08 dec 2010, 13:52

Als het goed is wel, mysql_real_escape_string zorgt alleen dat mensen geen SQL-injectie kunnen uitvoeren. http://nl.wikipedia.org/wiki/SQL-injectie
Avatar gebruiker
Davey
Beheerder
 
Berichten: 253
Geregistreerd: wo 10 feb 2010, 23:30
Woonplaats: Nederland


Keer terug naar PHP & MySQL

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

© Skindo.nl - 2010
cron