diff --git a/GanjooRazor/Areas/Admin/Pages/ModifyPage.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/ModifyPage.cshtml.cs index 5d56bd70..ae9a2a25 100644 --- a/GanjooRazor/Areas/Admin/Pages/ModifyPage.cshtml.cs +++ b/GanjooRazor/Areas/Admin/Pages/ModifyPage.cshtml.cs @@ -274,7 +274,7 @@ namespace GanjooRazor.Areas.Admin.Pages ModifyModel.HtmlText = await htmlRes.Content.ReadAsStringAsync(); - LastMessage = $"متن تولیدی دریافت شد. لطفا آن را کپی کنید و سپس اینجا کلیک کنید و آن را درج نمایید."; + LastMessage = $"متن تولیدی دریافت شد. لطفا آن را کپی کنید و سپس اینجا کلیک کنید و آن را درج نمایید."; } diff --git a/GanjooRazor/Areas/Admin/Pages/Poet.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/Poet.cshtml.cs index ad7ef8cd..de77cc82 100644 --- a/GanjooRazor/Areas/Admin/Pages/Poet.cshtml.cs +++ b/GanjooRazor/Areas/Admin/Pages/Poet.cshtml.cs @@ -197,7 +197,7 @@ namespace GanjooRazor.Areas.Admin.Pages _memoryCache.Remove(cacheKey2); } - LastResult = $"ویرایش انجام شد. برگشت به صفحهٔ ویرایش سخنور"; + LastResult = $"ویرایش انجام شد. برگشت به صفحهٔ ویرایش سخنور"; await PreparePoet(); @@ -235,7 +235,7 @@ namespace GanjooRazor.Areas.Admin.Pages return Page(); } - LastResult = $"تصویر بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; + LastResult = $"تصویر بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; } } @@ -271,7 +271,7 @@ namespace GanjooRazor.Areas.Admin.Pages return Page(); } - LastResult = $"پایگاه داده‌ها بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; + LastResult = $"پایگاه داده‌ها بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; } } @@ -307,7 +307,7 @@ namespace GanjooRazor.Areas.Admin.Pages return Page(); } - LastResult = $"پایگاه داده‌های اصلاحی بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; + LastResult = $"پایگاه داده‌های اصلاحی بارگذاری شد. برگشت به صفحهٔ ویرایش سخنور"; } } diff --git a/GanjooRazor/Pages/Search.cshtml b/GanjooRazor/Pages/Search.cshtml index f67c6396..ffda4269 100644 --- a/GanjooRazor/Pages/Search.cshtml +++ b/GanjooRazor/Pages/Search.cshtml @@ -77,7 +77,12 @@ else @if (Model.StatsAtTop && Model.QueryIsSingleWord) {
- + @* Model.Query is the untrusted "s" search-query string. It must never be + interpolated into a javascript: href/onclick - HTML-encoding alone does + not stop it breaking out of the JS string literal there, because the + browser HTML-decodes the attribute before handing it to the JS engine. + Passing it through a data-* attribute keeps it as inert text. *@ + مشاهدهٔ بسامد واژگان «@Model.QueryDin» به تفکیک بخش @@ -135,7 +140,8 @@ else @if (!Model.StatsAtTop && Model.QueryIsSingleWord) {
- + @* See the matching comment above for why this is a data-* attribute, not a javascript: href. *@ + مشاهدهٔ بسامد واژگان «@Model.QueryDin» به تفکیک بخش