Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP.NET] Folders met ampersand + httpHandlers

Pagina: 1
Acties:

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 02:35

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Ik heb in mijn web.config een IHttpHandler geconfigureerd:

web.config:
XML:
1
2
3
<httpHandlers>
    <add verb="GET" path="ThumbHandler.ashx" type="ThumbHandler"/>
</httpHandlers>


Deze handler kan ik overal in mijn site opvragen, behalve in paden met een ampersand:

Response OK:
code:
1
http://foo.bar/folder%20with%20spaces/ThumbHandler.ashx


Response 400:
code:
1
http://foo.bar/folder%20with%20spaces%26ampersand/ThumbHandler.ashx


Ik kan met nauwelijks voorstellen dat dit onmogelijk is, omdat dit zou betekenen dat in folders met ampersands nooit httphandlers kunnen draaien. Dus ofwel zie ik iets ongelooflijks dom over het hoofd, ofwel kan het echt niet...

Ik vond 1 persoon met ongeveer hetzelfde probleem, toevallig (?) ook een dynamische thumb handler, maar daar kwam natuurlijk geen oplossing naar voren.

iemand?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:16

gorgi_19

Kruimeltjes zijn weer op :9

De oplossing die in dat artikel werd genoemd was, :"Het mag niet, omdat een ampersand gebruikt wordt in een URI en geldt als 'reserved character' :)
Daarnaast krijg je een response 400 (Bad Request). Ik betwijfel of .Net hier veel aan kan doen.

[ Voor 24% gewijzigd door gorgi_19 op 03-10-2007 11:13 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 02:35

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
gorgi_19 schreef op woensdag 03 oktober 2007 @ 11:10:
De oplossing die in dat artikel werd genoemd was, :"Het mag niet, omdat een ampersand gebruikt wordt in een URI en geldt als 'reserved character' :)
Daarnaast krijg je een response 400 (Bad Request). Ik betwijfel of .Net hier veel aan kan doen.
Ja, maar ik stuur in principe de ampersand encoded door. Vanuit security oogpunt is het wel begrijpelijk dat de pipeline eerst decodeert, en dan checkt. Bovendien kan je in IIS wel gewoon paden opvragen waar een ampersand in zit. Pas wanneer ze door de ASP.NET pipeline gaan, wordt het een probleem.

Wij onderbreken deze thread voor reclame:
http://kalders.be