サービス スタック アプリケーションがあります。テスト サービスは単純なリクエストを受け取りますが、受け取ったリクエストの値が元のリクエストと一致しないことがわかりました。
私は送ります:http://localhost/testapp/test?value=%22test%20data%22%20%3C12345%3E
しかし、コードの出力: テスト データ" 12345>
最初の二重引用符が欠落しており、左側の山括弧が欠落していることに注意してください。
アプリケーションが最初の「」と「<」をドロップする理由はありますか?それはある種の XSS 保護の一部ですか?
私のコード:
public class TestService : RestServiceBase<RequestDto>, IRestService<RequestDto>
{
public override object OnGet(RequestDto request)
{
return request.Value;
}
}
public class RequestDto
{
public string Value { get; set; }
}
最初にサービススタックが「<」でリクエストを受信できるようにします。使用するアプリケーション web.config を切り替える必要がありました: requestValidationMode="2.0"