htmlspecialchars of niet?

Status
Niet open voor verdere reacties.

jellever

Gebruiker
Lid geworden
7 feb 2008
Berichten
401
Hallo helpmij forum,

Ik zit met een vraagje, ik heb een database en daar zet ik nu verschillende tutorials in maar ik gooi eerst htmlspecialchars() over de tutorial voor ik hem in een database zet met phpmyadmin. Is dit nodig? kan het ook zonder de htmlspecialchars? Zou dit geen fouten of iets dergelijks opleveren?

bedankt voor jullie hulp:thumb:
 
Dus als ik het goed begrijp maak je zelf tutorials en zet je die in de database?

Er zijn 2 gevaren aan het weglaten van die functie
  • Wanneer je dan bepaalde code niet goed hebt beveiligd kan het mogelijk zijn om code in de database te drukken of uit te voeren waar je niet echt op zit te wachten.

    Dit wordt SQL Injection genoemd.
  • Wanneer je HTML code invoert in de database zonder het wijzigen van de tags dan wordt die code dus uitgevoerd wanneer je hem echoëd. Niet iets waar je altijd op zit te wachten.
 
ja ik maak de tutorials zelf. Ik wil ze nu zonder htmlspecialchars() doen omdat ik de tut niet meer kan bijwerken... Ik herken niks meer:p overal < en > en dat soort tekens.

Ik weet inderdaad over sql injections maar dat wordt verholpen door mysql_real_escape_string toch?

Dit is mijn code voor het ophalen voor een tut
PHP:
$tut=mysql_real_escape_string(htmlspecialchars($_GET['tut']));
$tut=str_replace("_"," ",$tut);
$tut=trim($tut);
$select="SELECT * FROM `tutorials` WHERE `title` = '".$tut."' LIMIT 1";
$select=mysql_query($select);

while($row=mysql_fetch_object($select))
{
$gevonden=true;
echo htmlspecialchars_decode(stripslashes($row->tut));
}
if($gevonden !== true)
{
echo "Geen tutorial gevonden met de naam: ".$tut;
}
en ik roep een tut dus zo aan:
pagina.php?tut=if_statement

Dus het is veilig of..... niet?
 
Laatst bewerkt:
Code ziet er aardig veilig uit.

Je zou bij het invoeren in de database ook alleen mysql_real_escape_string() kunnen gebruiken. Of dat je bij het wijzigen weer de decode er over heen haalt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan