Zijn de jQuery WYSIWYG-editors veilig om te gebruiken?

Ik gebruik jQuery redactorjs voor mijn formulier om mijn gebruikers opgemaakte mooie tekst te laten typen. Maar na het doorbladeren van stackoverflow vond ik een aantal antwoorden van gebruikers dat ik nooit een vooraf geformatteerde invoer zou accepteren. Hier is de vraag link .

Ik wil dat mijn website veilig is, dus zal dit mijn website minder veilig maken als ik deze jquery-plug-in gebruik?

0
Dit is niet anders dan elke andere vorm van gebruikersgestuurde invoer. Een verborgen formuliervariabele heeft ook een beveiligingsimpact ...
toegevoegd de auteur rook, de bron
Redactor is eigenlijk kwetsbaar voor XSS. Gebruik de uitvoer niet zonder verdere validatie.
toegevoegd de auteur Gumbo, de bron

2 antwoord

Het accepteren van een html-invoer van een client is niet beveiligd. Zelfs als de jQuery-plug-in de gebruiker niet toestaat om XSS te maken, is het heel eenvoudig om wijzig de code die een client gebruikt.

U moet de invoer van de gebruiker accepteren in zoiets als een prijsvermindering (bijvoorbeeld zoals StackOverflow doet) of met een zorgvuldig op de witte lijst geplaatste set HTML-tags en -kenmerken (zorg ervoor dat u geldige HTML als uitvoer produceert). Dat is echter een heel moeilijke klus, en het is het beste om een ​​goed beproefde bibliotheek te gebruiken die dit voor de beste beveiliging doet.

0
toegevoegd
wat als ik stripslashes gebruik om de inhoud uit te voeren?
toegevoegd de auteur Kevin Lee, de bron

De link waarnaar u verwijst, betreft ongeveer sql-injectie. Het punt hier is dat u geen clientzijbibliotheken kunt gebruiken om schadelijke invoer te voorkomen. U gebruikt echter een bibliotheek om de gebruiker in opgemaakte tekst te laten typen, wat perfect in orde is.

Wat u moet doen, ongeacht het soort bibliotheken dat u gebruikt aan de clientzijde, is om de invoer die u aan de serverzijde krijgt te valideren. U moet erkennen dat een kwaadwillende gebruiker technisch in staat is om alle bibliotheken die u aan de clientzijde heeft te omzeilen en alles wat hij leuk vindt naar uw server te sturen, zodat de server alle invoer moet valideren tegen d.w.z. SQL-injectie-aanvallen enz.

0
toegevoegd