Question

Pour ma demande, je personnalisé un peu la façon dont se comporte armes de destruction massive de façon lorsque l'utilisateur entre les lignes vides, celles-ci se reflètent dans la sortie HTML comme <br />'s. Maintenant, je suis arrivé à un moment où je devrais le stocker quelque part au back-end et donc après être passé par SO messages pendant un certain temps, je ne suis pas sûr quelle est la meilleure façon de le faire. J'ai peu d'options et si vous pouvez indiquer que leurs avantages / inconvénients qui serait très apprécié.

  1. envoyer au serveur et stocker comme démarquage plutôt que HTML. Pour me avantage évident serait de garder exactement la même mise en forme que l'utilisateur est entré à l'origine. Mais alors comment puis-je reconvertir en HTML pour l'affichage à un client? Il semble très difficile de le convertir côté client que même s'il serait possible ce qui se passerait si JS serait désactivé? Si je voulais le faire sur le serveur, puis implémentations côté serveur standard de balisage à HTML peut être ressource coûteuse. Serait-ce un problème à votre avis? Même si ce ne serait pas le cas, comme je l'ai mentionné ma mise en œuvre des armes de destruction massive est personnalisé et les solutions côté serveur ne ferait pas probablement le droit de conversion à démarquage de toute façon et il y aurait toujours un risque que quelque chose se convertir mal.

  2. Envoyer à un serveur HTML converti. Comme ci-dessus .. conversion côté client serait difficile côté, même serveur avec possibilité de se tromper.

  3. envoyer démarquage original et converti HTML et stocker à la fois. Aucun problème de performance liés à la conversion démarquage en HTML sur le côté client, ni côté serveur. Les utilisateurs auraient toujours même démarquage ils sont entrés dans l'origine et même HTML ils ont vu à l'origine en avant-première (peut-être aseptisé en php bien). Il faudrait prendre deux fois plus d'espace de stockage bien et qui est mon plus grand souci.

J'ai tendance à se pencher vers 3 solution car il semble plus simple, mais il y a un souci d'espace de stockage doublé nécessaire à cette solution. S'il vous plaît garder à l'esprit que ma mise en œuvre des ADM est légèrement modifiée et aussi je vais avec la mise en œuvre côté serveur PHP / MySql.

Donc, en dehors de 3 options que j'énumérés ci-dessus, sont-il d'autres solutions possibles à mon problème? Ai-je raté quelque chose d'important qui ferait l'une des options ci-dessus mieux que le reste? Et quels sont les autres avantages / inconvénients seraient applicables à chaque solution que je la liste? Aussi comment est-il mis en œuvre sur le SO? Je lis somwhere qu'ils utilisent l'option 3, et donc si son assez bon pour serait donc assez bon pour moi :) mais pas sûr si son vrai de toute façon, alors comment est-il fait?

Aussi s'il vous plaît pardonnez-moi, mais au moins pour une fois je dois dire que StackOverflow EST LE MEILLEUR DES RESSOURCES DAMN SUR LE WEB et j'apprécie vraiment tous les gens qui essaient d'aider les autres ici! Le site et les utilisateurs ici sont tout simplement incroyable!

Était-ce utile?

La solution

  

Envoyer au serveur comme démarquage ou converti HTML

L'une des raisons pour accepter démarquage au lieu de HTML du client est que l'acceptation d'un code HTML du client est un risque de sécurité: si vous acceptez HTML alors un client peut vous envoyer HTML avec du code malveillant, que vous souhaitez stocker et nourrissez retour (peut-être à un autre client: si vous finissez par l'envoi d'un code malveillant à un autre client). Pour cette raison, il pourrait être préférable d'accepter que démarquage (non HTML) du client.

  

Si je voulais le faire sur le serveur, puis implémentations côté serveur standard de balisage à HTML peut être ressource coûteuse. Serait-ce un problème à votre avis?

Je ne sais pas ce que « les implémentations côté serveur standard » sont, mais je suppose que cela (la génération HTML) est le type de traitement qu'un serveur doit être en mesure de le faire.

Autres conseils

Le 4ème. option est de stocker le démarquage, et rendre le démarquage en HTML en utilisant une bibliothèque côté serveur quand il est demandé, puis utiliser la mise en cache pour éviter une baisse de performance.

Un commentaire sur le problème de sécurité de ChrisW - Ce point vraiment valide pour vous préoccuper désinfectante cette entrée. Cependant, ne faites pas l'erreur de supposer le démarquage est soit en sécurité. D'après ce que j'ai vu des armes de destruction massive et c'est le processeur showdown.js, vous pouvez toujours le nourrir HTML et il le laisser là-dedans. Il est donc possible pour quelqu'un en utilisant l'éditeur ADM pour ender encore en <script> ou autre.

parle en fait ce qui me fait penser que je dois vérifier mon implémentation actuelle de ce ..

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