3

クライアントが自分のサイトに支払いを行ったときに、支払い処理業者から通知を受け取る Web ページがあります。

通知は GET 送信の形式で届くため、URL は非常に長くなる可能性があります。私は通知の送信方法について管轄権を持っていないため、単純に POST 送信に変更することはできません。これにより、すべての問題が解決されます。

問題は、URL が長すぎるために通知が受信されない場合があることです。URL をわずか 15 文字短縮すると、接続が成功するため、許可されている制限をかろうじて切り取っています。

Windows レジストリで UrlSegmentMaxCount を変更しようとしましたが、問題は解決しません。

IIS でホストされている php サイトを構成して、より長い GET 要求を許可する方法を知っている人はいますか?

編集

これは私が試したものです。

それがphpの問題である場合、.htaccessファイルに次の行を追加しました:

php_value suhosin.get.max_value_length 2048

そして、レジストリに入れた Windows の問題を修正しようとします: #

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters] "UrlSegmentMaxLength"=dword:00001000

4

2 に答える 2

3

web.config ファイルのmaxUrlLength設定を見てください。定義されていない場合は、httpRuntime 設定を使用して、URL で許可される最大文字数を増やすことができます。

<configuration>
  <system.web>
    <httpRuntime maxUrlLength="500" />
  </system.web>
</configuration>

これにより、デフォルトの 260 文字が 500 文字に増加します。

(ソース: http://www.saotn.org/the-length-url-request-exceeds-configured-maxurllength-value/ ) - 「回答」を使用して web.config 構成コードを追加しました。

于 2013-11-08T09:46:40.120 に答える
3

リクエストのフィルタリングは有効になっていますか? その場合は、パラメータmaxQueryStringmaxUrlパラメータを変更してみて、それが制限されているかどうかを確認してください。

于 2013-11-08T11:06:31.437 に答える