25

URL パラメータ名に使用できる文字について、正式な制限はありますか?

RFC3986 ("Uniform Resource Identifier (URI): Generic Syntax")を読んできましたが、決定的な結論には至りませんでした。

実際には制限があることは承知していますが、次のようなことを実際に行うことは禁止されていますか?

param with\funny<chars>=some_value

正しくエスケープする限り:

param%20with%1cfunny%3cchars%3e=some_value
4

4 に答える 4

12

URI 仕様では、エスケープされたパラメーター名に制限はありません。ただし、使用するサーバー側のソフトウェアには制限がある場合があります。これは、「自家製」のスクリプトを使用して URI を解釈する場合に特に当てはまります。

于 2009-05-02T11:38:49.847 に答える
8

RFC2396も読む必要があります。RFC3986 よりも有益なようです。

于 2009-05-02T12:16:45.433 に答える
2

URL には予約文字がありますが、エスケープ (urlencode) する限り問題ありません。

使用するフレームワークによっては、疑わしい値を送信しようとすると例外が発生する場合があります。ASP.NET には、スクリプトや HTML などの "安全でない" データを送信しようとすると例外をスローするコンテンツ フィルタリングがあります。これは、URL 構文によって強制される制限やルールではなく、フレームワークの機能です。

于 2009-05-02T11:37:16.653 に答える