PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, May 19, 2022

[FIXED] How to restrict character set for parameter binding?

 May 19, 2022     asp.net-web-api2, model-binding, parameterbinding     No comments   

Issue

I'm in a situation where I have to restrict a web service's character set for route values, query parameters and json body content to latin1.

I've played around with th econtent negotiator, but that one is just for response formatting.

I've tried replacing the supported encodings in the media formatters with one that throws on unexpected characters but when, for instance, the JsonMediaTypeFormatter does its ReadFromStream call, the effectiveEncoding parameter is already the latin1 one and the string is already garbled (I'm trying with some chinese characters).

What I actually want to happen is to create some BadRequest result whenever a wrong encoding gets specified or whenever a non-latin1 character shows up.

Could anybody give me a hint where to look fo the correct place to fix that? I'm sure there must be a better way than to do it all "manually" in a DelegatingHandler.


Solution

In the end I just replaced the media formatter with one that validates the string by using Encoding.GetBytes(...) before deserializing into an object.



Answered By - Volker
Answer Checked By - Clifford M. (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing