URLパラメータ名でどの文字が許可されているかについての正式な制限はありますか?
私は読んでいました RFC3986 ( "Uniform Resource Identifier(URI):generic syntax")が、明確な結論はありませんでした。
実際的な制限があることを知っていますが、実際には何かをすることを禁じられますか。
\ funny <chars> = some_valueとparam
私が正しく脱出している限り:
pARAM%20 - %1CFUNNY%3CCHARS%3E = some_value
URI仕様のエスケープされたパラメータ名に制限はありません。ただし、サーバーサイドソフトウェアに制限がある可能性があります。 URIを解釈するために「自家製」スクリプトを使用する場合、これは特に当てはまります。
URL用の予約された文字がありますが、脱出(URLENCODE)が大丈夫になるはずです。
使用されているフレームワークに応じて、疑わしい値を送信しようとすると、例外が表示されることがあります。 ASP.NETには、スクリプトやHTMLなどの「安全でない」データを送信しようとすると、例外をスローするコンテンツフィルタがあります。これは、URL構文によって強制された制限または規則ではなく、フレームワークの機能です。