ฉันมีปัญหาเกี่ยวกับรหัสเดิมที่ต้องการให้ฉันสนับสนุน URL แบบสุ่มราวกับว่าเป็นคำขอสำหรับโฮมเพจ บางส่วนของ URL ที่มีตัวละครในพวกเขาที่สร้างข้อผิดพลาด"อาจเป็นค่า Request.Path อันตรายที่ตรวจพบจากลูกค้า (&)" ไซต์นี้เขียนด้วย ASP.Net MVC 3 (ใน C #) และทำงานบน IIS 7.5
นี่คือตัวอย่าง URL ...
http://mywebsite.com/Test123/This_&_That
นี่คือวิธีที่ฉันตั้งค่าเส้นทางรับทั้งหมด (ฉันมีเส้นทางอื่นที่จะจับหน้าเฉพาะ) ...
routes.MapRoute(
"Default", // Route name
"{garb1}/{garb2}", // URL with parameters
new { controller = "Website", action = "Home", garb1 = UrlParameter.Optional, garb2 = UrlParameter.Optional } // Parameter defaults
);
ฉันได้เพิ่มสิ่งต่อไปนี้ในไฟล์ web.config ของฉัน ...
<configuration>
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
<configuration>
ฉันยังเพิ่มแอตทริบิวต์ ValidateInput ให้กับการกระทำที่ควรจับ URL ...
public class WebsiteController : Controller
{
[ValidateInput(false)]
public ActionResult Home()
{
return View();
}
}
แต่ฉันยังคงได้รับข้อผิดพลาด ความคิดใด ๆ ทำไม? ฉันพลาดอะไรไปหรือเปล่า? ตอนนี้ฉันเพิ่งใช้งานบนเซิร์ฟเวอร์ dev ในพื้นที่ของฉัน (ฉันยังไม่ได้ลองแก้ไขเหล่านี้ในการผลิต)