Question

Je l'ai utilisé HTML purificateur pour éliminer toute substance suspecte venant de mon publique face à l'éditeur WYSIWYG. Le code HTML entrant est également affiché dans la partie publique du site.

Je l'ai laissé des liens, et je Linkify automatiquement les URL en texte brut (en utilisant le purificateur).

Y at-il un moyen de permettre des liens externes, mais des liens d'interdiction au même domaine? Mon domaine est par exemple www.example.com

http://www.google.com seront liés.

http://www.example.com/logout/ ne seront pas liés.

Je cherche à minimiser toute interférence des utilisateurs malveillants. Dois-je faire mon lien logout une action de forme avec une paire de clés POST / valeur pour empêcher que cela se passe?

Merci

Était-ce utile?

La solution

Votre login / le formulaire doit toujours être POST uniquement.

Ne vous inquiétez pas une valeur de vérification, mais cela est un problème de sécurité très important - toutes les transactions qui changent l'état du serveur Web doit être requêtes POST. Vous ne devriez jamais permettre http://example.com/object?action=delete , ou tout variant de celui-ci. PHP encourage les mauvaises pratiques en la matière, mais vous devriez toujours utiliser l'un ou l'autre, et permettre à jamais les deux.

Si vos utilisateurs peuvent écrire des formulaires dans votre éditeur WYSIWYG, vous avez beaucoup plus de problèmes que cela.

Pour répondre à votre question initiale, de désactiver les liens internes, l'utilisation URI.HostBlacklist et assurez-vous de définir URI.MakeAbsolute:

http://htmlpurifier.org/live/configdoc/plain.html # URI.HostBlacklist

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top