Kendimi bir .Net Core MVC uygulamasında kullanıcılar tarafından eklenen yorumlar dışında javascript'i temizleme ihtiyacı buldum. Önceki çerçevelerde bu, ilk önce string'inizi JavaScriptStringEncode'a geçirerek başarılabilir. Bununla birlikte, .net çekirdeğindeki eşdeğerini bulamadım. Bununla birlikte, .net çekirdeği eşdeğerini bulamadım.HttpUtility.JavaScriptStringEncode öğesinin karşılığı .Net Core 1.1 nedir?
cevap
Görünümlerde @Json.Serialize
olarak kullanılabilen bir helper vardır. Yani hesaba Startup.cs yapılandırılmış herhangi bir biçimlendirme seçeneği alarak Json.NET kullanır: akılda
var foo = @Json.Serialize(model);
Ayı bu varsayılan tarafından json XSS-sterilize yok!
@using Newtonsoft.Json
...
var foo = @Json.Serialize(model, new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml });
Belki @Json.SafeSerialize
veya @SafeJson.Serialize
gibi kendi yardımcı içine sarabilirsiniz: Eğer EscapeHtml
olarak Json.NET ait StringEscapeHandling
seçeneği belirterek, bu do sağlayan bir aşırı kullanabilirsiniz Ancak.
ben devreye alma json seçenekleri arasında bu şekilde davranmaya varsayılan JsonOutputFormatter zorlamadan kendi yardımcıları daha iyi bir yol bulmuş değil:
services.AddMvc().AddJsonOptions(opts => opts.SerializerSettings.StringEscapeHandling = StringEscapeHandling.EscapeHtml)
ikincisi yaklaşımla sorunu (ve neden olabilir Özel yardımcısını tercih edin), API'larınızdan döndürülen JSON'ları da etkilemesidir.
PS. Bunu github numaralı telefondan yükselttim.
using System.Text.Encodings.Web; //part of System.Text.Encodings.Web nuget package
...
var encodedText = JavaScriptEncoder.Default.Encode("TextToEncode");
: Burada
HttpUtility.JavaScriptStringEncode
bir eşdeğeri
- 1. App.config öğesinin, .Net Core
- 2. Promise.then() öğesinin karşılığı nedir?
- 3. XUnit Testleri artık keşfedilmiyor. Net Core 1.1
- 4. Objective-C'deki Math.abs() öğesinin karşılığı nedir?
- 5. FileStream/StreamWriter in .NET Core 1.1 yok Close() yöntemi yok
- 6. Güncellemeden sonra hata .net Core 1.0 to 1.1
- 7. Webpack'i ASP.NET Core 1.1 ile Kullanma
- 8. AddEntityFrameworkStores yalnızca .NET Core 2.0
- 9. .NET Core GetHashCode deterministic
- 10. System.Environment .NET Core 1.0
- 11. .NET Core Değiştirme?
- 12. Preg_match'in JavaScript karşılığı nedir?
- 13. PHP'nin preg_quote'unun karşılığı nedir?
- 14. mysql'deki REGEXP_SUBSTR karşılığı nedir?
- 15. Postgre'lerde LISTAGG'nin karşılığı nedir?
- 16. SetTimeout'un GWT karşılığı nedir?
- 17. Linux'ta ipv6 için/proc/net/arp karşılığı nedir?
- 18. Çılgın Derin Yol Uzunluğu .Net Çekirdeği 1.1
- 19. FactoryGirl/machinist karşılığı C# /. Net
- 20. Java'da String.Format (.NET) karşılığı mı?
- 21. .NET Standard \ Core yerine .NET Taşınabilir
- 22. .Net Core dll nasıl çalıştırılır?
- 23. .NET Core ile görüntülerin işlenmesi
- 24. System.Web.Services ad alanı .net core
- 25. @ angular/core/testing öğesinin dışa aktarılmadı 'MockApplicationRef'
- 26. .NET Core 2.0'a Yükseltme: PackageTargetFallback ve AssetTargetFallback birlikte kullanılamaz.
- 27. Başvurular .net 1.1 64 bit uygulamalardan derlemeler
- 28. Perl'in DBI'sinin Python karşılığı nedir?
- 29. Go'nun argv [0] karşılığı nedir?
- 30. C# Server.URLEncode'un JavaScript karşılığı nedir?