web-dev-qa-db-fra.com

Comment nettoyer correctement les chaînes pour update_option ()

J'ai essayé d'importer une valeur d'option via update_options ($ name, $ value) où $ value a des caractères spéciaux (comme les apostrophe par exemple) et j'ai remarqué que l'apostrophe est supprimée du texte avant d'atteindre la base de données.

Quelle est la désinfection suggérée des chaînes avant de les envoyer à update_options ()?

3
N2Mystic

Essayez esc_html( $string ) ( Codex ref ), qui code notamment des guillemets simples et doubles.

Pour plus de détails, voir l’entrée Validation des données du Codex.

3
Chip Bennett

Vous ne devez pas utiliser les fonctions échap pour les données qui entrent dans la base de données. Les fonctions esc sont uniquement pour la sortie.

La fonction update_option () est assainie pour vous, il n’est donc pas nécessaire d’exécuter de fonctions san supplémentaires.

2
Chris Flannagan

Je ne peux pas commenter les réponses de Chris Flannagans alors ... update_options () ne supprime pas toutes les options. Certaines options principales sont nettoyées, mais les options personnalisées ne le sont pas. Vous devez assainir vous-même l'entrée.

https://www.wordfence.com/blog/2018/11/xss-injection-campaign-exploits-wordpress-amp-plugin/

2
ARWVISIONS