sql >> Database >  >> RDS >> Mysql

Wat is genoeg opschoning voor een URL?

"Genoeg ontsmetting" hangt sterk af van de omgeving waar je het over hebt. Sanitization voor MySQL moet geheel apart worden beschouwd van opschoning voor webuitvoer, en u moet ze afzonderlijk behandelen om veel gedoe te voorkomen.

Opschoning voor MySQL

  • mysql_real_escape_string() zal een stuk gegevens opschonen en het veilig maken om in een SQL-query te plaatsen.
  • Elk ander type kwaadaardige gegevens, zoals HTML-tags in de string, moet absoluut worden genegeerd. Als u het hier probeert te manipuleren, krijgt u hoofdpijn als u het later probeert te "manipuleren" nadat u het uit de database hebt gehaald. Slechte "webgegevens" kunnen uw database niet schaden.

Opschoning voor output

  • htmlspecialchars($val) bij de uitvoer voorkomt dat schadelijke tags worden weergegeven, omdat < en > karakters worden geconverteerd naar hun entiteitsrepresentaties en niet weergegeven als tagscheidingstekens.
  • Gebruik de ENT_QUOTES modifier als u iets uitvoert dat binnen het attribuut tussen aanhalingstekens van een HTML-element staat, zoals <input name="email" value="<?php echo htmlspecialchars($email,ENT_QUOTES); ?>" />

Dat zou alles moeten zijn wat u nodig heeft, tenzij u speciale vereisten heeft. strip_tags() zou niet echt moeten worden gebruikt voor opschoning, omdat het voor de gek gehouden kan worden met slecht gevormde HTML. Sanitization is een waardig doel, en als u uw contexten gescheiden kunt houden, zult u minder problemen tegenkomen met gegevensmanipulatie tussen hen.



  1. Inleiding tot PL/SQL-verzamelingen in Oracle Database

  2. PARTITIE DOOR met en zonder KEEP in Oracle

  3. BOB SQL-state 00000 maar nog steeds fout?

  4. metasleutel en meta_value-query in wordpress