sql >> Database >  >> RDS >> Mysql

Wat is de juiste codering / escaping / html-entiteiten die nodig zijn bij het verzenden van gegevens van js naar php, php naar mysql en voor REST json-antwoorden

Telkens wanneer ik php/mysql/jquery gebruik om gegevens heen en weer door te geven, gebruik ik uiteindelijk de volgende combinatie van coderingen/escapings, en het lijkt goed voor mij te werken.

1) u hoeft hier niets te doen, TENZIJ u een URL verzendt (ik denk dat dit alleen voor GET-verzoeken is) - maar als u een url verzendt, moet u encodeURIComponent(url) gebruiken, die correct zal ontsnappen de &'s en speciale tekens in de url (zie hier ).

2) Gebruik mysqli en gebonden parameters, het zal al het ontsnappen voor je doen (lees erover hier )

3) Ik gebruik dit altijd bij het herhalen van gegevens in een HTML-bestand:

<?php
  htmlspecialchars($string_to_escape, ENT_QUOTES, 'UTF-8', false);
?>

Hiermee worden alle speciale tekens correct gecodeerd (de false is voor "geen dubbele codering"). Zorg er ook voor dat u de juiste UTF-8-metatags bovenaan uw html-pagina's plaatst.

4) Het gebruik van json_encode zou altijd goed moeten ontsnappen aan uw gegevens, maar ik zou de code van #3 gebruiken om er zeker van te zijn. Maar je hebt het waarschijnlijk alleen nodig als je gegevens retourneert met speciale tekens erin.



  1. Hoe op te lossen "Er moet een correlatienaam worden opgegeven voor de bulkrijenset in de from-clausule." in SQL Server

  2. Hoe kan ik een van de vele mogelijke patronen vinden in een enkele mySQL-invoer? Meer binnen

  3. Compatibiliteit van SQL Server 2008 met SQL Server 2005

  4. BoneCP correct gebruik