我已经将sage pay与我的wordpress网站集成在一起。我目前正在模拟器模式下运行sagepay。
成功付款后,sagepay会重定向到我网站的成功页面。重定向网址就是这样。
mysite.com/?page_id=632&crypt=@7564ASKJjkkjh....encrypted string.
当我试图通过$ _REQUEST或$ _GET在我的成功页面上获取查询字符串参数时,我只能获取page_id。
但我无法获得'crypt'参数。
我也试过var_dump($ _ REQUEST)。它还只提供page_id但不提供crypt参数。
我不想从查询字符串中检索'crypt'参数。
注意:它正确地在localhost上工作。我有两个参数。但是当我在真实服务器上传我的网站时,我只能获得page_id,而不是'crypt'参数。
任何想法?
更新: 我的Sage pay给出的查询字符是这样的:
mysite.com/?page_id=632&crypt=@758D2CD31D4B6C192BB70DC99A9F9E1EEAD181E280A3B617E73ACD3E893992E5B9A8A823C3E3B5BE7AF4CEA53C3D12C5C39ECE6F203A2ED76B82711C2E84CFBA1D2574B80F1A53EE4C1D49C60570839F1B1AD4EE83C3D208B943EA9E5F88F94AA3D9F9C2E58F8C7A476787EF8DD438CF8A102AD0D154864291DC02FB8626C177CC02C18F102300AFA0F390841B1C841A2B5A90DB9B1741A46D7AC4C0CA11E90D3C230D5FB6767FAE638A31714FD2C432CB3854162AE49F2C88761C5BAFB92E9ACE354425D9D9801705B088580B9BE113C1319B41893BFC0A2B190F10E8FB5D6EEA779E725D129EE483C631373930BD0F6E6747CD7D79F7AD726D11CB17547D00015CA5793F6E322B8FA0354EAE2DF83A2BD460AB718AC205346EE3E39418B3FBF181B82DB8BC19448F6AC6F48121129F48F2F557F265C5B6A65B23B3FFA516182C7ECA416B6BD9C04E7693744F6133EB4E1989245073FE835D3BA19A8B1EE101
但它在localhost上工作正常
答案 0 :(得分:4)
您似乎正在运行Suhosin安全补丁。此修补程序将$_GET
参数限制为最多512个字节。
为了解决这个问题,您需要为php.ini
添加一个值。
suhosin.get.max_value_length = LIMIT_HERE
来源:http://www.php.net/manual/en/reserved.variables.get.php#101469
请注意安装了suhosin补丁的PHP设置会有 get参数的默认限制为512个字符。虽然不好 实践中,大多数浏览器(包括IE)支持最高2000左右的URL 字符,而Apache的默认值为8000。
要使用suhosin添加对长参数的支持,请添加 php.ini中的
suhosin.get.max_value_length = <limit>
更新1
由于您无法访问php.ini
,因此您需要更改.htacess
文件中的值(如果您使用的是Apache),或者您可以执行此操作它使用内置的PHP函数ini_set()
。
.htacess方法:
php_value suhosin.get.max_value_length 8000
ini_set方法:
ini_set('suhosin.get.max_value_length', '8000');
但是,很可能(但不确定)您的PHP安装不允许在每个目录的基础上修改Suhosin变量。要解决此问题,您必须将此请求放入php.ini
,否则您无法做任何事情。
suhosin.perdir = "p"
答案 1 :(得分:3)
我认为您的生产环境已经在php.ini中为$ _REQUEST配置了过滤器,请查看php.ini的过滤器部分,更多信息:http://www.php.net/manual/en/filter.configuration.php
如果您不想在生产环境中更改此配置,可以使用filter_input访问该值,更多信息:http://www.php.net/manual/en/function.filter-input.php