Programim dhe zhvillim, javascript, python, php, html

Përdorimi i bibliotekës MS Anti XSS për dezinfektimin e HTML

Me qëllim të parandalimit të sulmeve XSS, unë po përditësoj një faqe në të cilën kemi një kuti teksti që pranon HTML, e ruan atë në një bazë të dhënash dhe e merr dhe e jep atë në një kohë të mëvonshme.

Kuptimi im është se unë mund të dezinfektoj HTML duke përdorur metodën AntiXSS.GetSafeHtmlFragment(). Për sa kohë që e bëj këtë përpara se të ruaj HTML në bazën e të dhënave, a jam i mbuluar? A duhet të bëj ndonjë gjë kur HTML del në një faqe interneti?

Gjithashtu, duket se lista e bardhë është një lloj kutie e zezë. A ka ndonjë mënyrë për ta përditësuar këtë bazuar në kërkesat tona?


Përgjigjet:


1

Ju duhet të jeni të vendosur. Edhe pse padyshim kjo nuk do t'ju mbrojë nga asgjë tashmë në bazën e të dhënave.

Ju mund të përdorni AntiXSS.GetSafeHtmlFragment() gjatë daljes së faqes në vend që kur ruani. Por të bësh kur kursesh është ndoshta më e sigurt. Megjithatë, ju nuk do të dëshironit ta bënit atë edhe gjatë paraqitjes dhe ruajtjes.

Lista e bardhë nuk është e modifikueshme.

08.01.2010
  • Fatkeqësisht, AntiXSS.GetSafeHtmlFragment() u bë i cenueshëm në versionin e vjetër dhe i padobishëm në versionin më të ri (ajo heq pothuajse të gjitha etiketat HTML të mundshme). 19.01.2015

  • 2

    Në lidhje me pyetjen tuaj në lidhje me "kutinë e zezë": po, është një kuti e zezë, dhe unë kuptoj se nuk mund ta modifikoni. Nëse jeni duke kërkuar për më shumë detaje, shikoni projektin AntiSamy.NET.

    12.06.2010

    3

    Në bibliotekat më të fundit 4.x Anti-XSS, GetSafeHtml() dhe SetSafeHtmlFragment() janë nën klasën Sanitizer në Microsoft.Security.Application, e cila u zhvendos në asamblenë HtmlSanitizationLibrary.

    [Lidhja e vjetëruar: http://www.microsoft.com/en-us/download/details.aspx?id=28589 ] Përditësim: Kjo duket sikur është zhvendosur në një paketë NuGet: https://www.nuget.org/packages/HtmlSanitizationLibrary/

    23.06.2012

    4

    Ju jeni pothuajse atje. Duhet të siguroheni që të zgjidhni kodimin e duhur. Për shembull, nëse hyrja e përdoruesit shkoi në një url, do t'ju duhet të përdorni AntiXSS.UrlEncode(), dhe nëse hynte në JavaScript, do të dëshironit të përdorni AntiXSS.JavaScriptEncode(). Nëse nuk mund të garantoni se cili do të jetë formati i daljes kur ruani hyrjen, është më mirë ta bëni sanitizimin në kohën e daljes.

    08.01.2010
  • ... duke kujtuar të dezinfektoheni për SQL Injection 09.01.2010
  • Pra, nëse përdoruesi fut HTML që unë pastroj duke përdorur GetSafeHtmlFragment, atëherë do të më duhej të gërmoj nëpër të gjitha URL-të (a href) dhe kodin JS dhe të kaloj përmes AntiXSS.UrlEncode dhe AntiXSS.JavaScriptEncode? 09.01.2010
  • Ju duhet t'i ikni prodhimit për kontekstin ku do të përdoret. Në përgjithësi, njerëzit e arrijnë këtë duke përdorur një sistem shabllon i cili i shmang automatikisht gjërat kur dalin, në vend që të kontrollojnë çdo fushë individualisht. Lexoni të gjithë artikullin që kam lidhur, ai duhet të ndihmojë: msdn.microsoft.com/en -us/library/aa973813.aspx 09.01.2010
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..