login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Html entities

Offline Michiel_G - 12/10/2005 10:56
Avatar van Michiel_GNieuw lid Is het noodzakelijk om rond elk te posten item htmlentities te plaatsen net zoals addslashes en indien ja hoe doe je dit dan? Eerst addslashes er rond of eerst htmlentities? En hoe moet ik dan decoderen bij het ophalen van de gegevens?

Alvast bedankt,
Michiel

12 antwoorden

Gesponsorde links
Offline nemesiskoen - 12/10/2005 11:07
Avatar van nemesiskoen Gouden medaille

PHP expert
addslashes is om de bool tegen sql injection te beveiligen en geen sql errors te krijgen.
entities is meestal maar 1 malig bedoeld, het is omkeerbaar maar ik snap niet waarom je dit zou willen doen. Dit is om alles te beveiligen tegen javascript en html. Dus als je ze in de database op veilige modus steekt en je zet ze weer op onveilig als je ze er uit haalt kan je ze evengoed gewoon rechtstreeks in de db pompen.
Offline Michiel_G - 12/10/2005 11:13
Avatar van Michiel_G Nieuw lid Kan u mij dan eens vertellen aub wat ik allemaal moet doen om veilig items naar mijn database te posten?
Offline nemesiskoen - 12/10/2005 11:18
Avatar van nemesiskoen Gouden medaille

PHP expert
addslashes...
en ophalen met stripslashes.
Dan zal er niets misgaan met je items die erin zitten. Bij het 'eruithalen' kan vanalles gebeuren natuurlijk, vandaar dat je in sommige gevallen best htmlspecialchars gebruikt.
Offline Michiel_G - 12/10/2005 11:24
Avatar van Michiel_G Nieuw lid Heb ik stripslashes wel nodig als ik met mysql werk?
Offline nemesiskoen - 12/10/2005 11:29
Avatar van nemesiskoen Gouden medaille

PHP expert
Je kan echt rare vragen stelen hoor. Ik zeg iets niet voor niets hoor, denk je dat ik een beetje lig te zwammen.

  1. <?php
  2. $dat = $_POST['data']; //ik weet dat variabele kopies dom zijn maar ff om aan te tonen, deze var heeft de waarde
  3. //halo 'k ben koen, hoe gaat't met u?
  4. $dat = addslashes($dat); //waarde veranderd
  5. //halo \'k ben koen, hoe gaat\'t met u?
  6.  
  7. //wegschrijven
  8.  
  9. //ophalen
  10. $dat = $obj->zin; //ff met fetch_object gewerkt om het makelijk aan te tonen, waarde van $dat is:
  11. //halo \'k ben koen, hoe gaat\'t met u?
  12. $dat = stripslashes($dat); //waarde veranderd
  13. //halo 'k ben koen, hoe gaat't met u?
  14. ?>
Offline Michiel_G - 12/10/2005 11:36
Avatar van Michiel_G Nieuw lid en als ik magicquotes afzet?
Offline nemesiskoen - 12/10/2005 11:44
Avatar van nemesiskoen Gouden medaille

PHP expert
Probeer je nu de slimme uit te hangen?
Oftewel lees je mijn uitleg en doe je wat je wilt doen, oftewel speel je bijdebeentje maar dan mag je dat ergens anders gaan doen.

Citaat:
Sets the magic_quotes state for GPC (Get/Post/Cookie) operations.

$_SERVER kan ook aangepast worden en wordt blijkbaar niet geslashed... en dan moet je toch zowiezo stripslashes gebruiken... dus wil je nu gewoon eens aannemen dat luiheid altijd beloond wordt, beveiligen neemt tijd in, maar veel minder tijd dan het herstellen van je gecrashte website.
Offline Thomas - 12/10/2005 11:45
Avatar van Thomas Moderator Het beste kun je hier zelf wat mee experimenteren.

Over invoer die mogelijk je query kan aanpassen altijd addslashes() gooien.
htmlentities() is alleen nodig als je zaken afdrukt, en niet wilt dat er JavaScript of HTML wordt uitgevoerd.
Offline Barato - 12/10/2005 11:57
Avatar van Barato Nieuw lid stripslashes op dingen uit db moet alleen als magic quotes runtime aanstaat en dat is bijna nooit het geval. de database haalt de overbodige slashes er namelijk zelf uit bij het inserten/updaten van rows.

magic quotes gpc (Get, Post, Cookie) staat wel vaak aan, en dan hoef je die dus niet te addslashen als je ze opslaat, maar je moet ze wel stripslashen als je ze rechtstreeks wilt printen.
Offline BigBug - 12/10/2005 12:17
Avatar van BigBug PHP expert Misschien kan je strip_tags(); ook gebruiken.. deze filtert ingevoerde html eruit...
Offline Thomas - 12/10/2005 12:28 (laatste wijziging 12/10/2005 12:28)
Avatar van Thomas Moderator
Citaat:
magic quotes gpc (Get, Post, Cookie) staat wel vaak aan, en dan hoef je die dus niet te addslashen als je ze opslaat
magic_quotes_gpc is toch een mechanisme dat er voor zorgt dat query-strings kloppend blijven (het blijft op die manier één string), maar bieden toch geen beveiliging tegen MySQL-injection ?!
Offline Dolfje - 12/10/2005 16:34
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
ze beschermen tegen mysql-injection in het volgende geval:

SELECT * FROM blaat WHERE blaat='$page'

maar niet in dit geval:

SELECT * FROM $page
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.235s