我在共享的网络托管帐户上托管我的PHP网站,所以我不确定是什么原因造成这种情况,因为我无法直接访问服务器。
相关页面非常简单。它的PHP脚本通过GET请求接收数据,并用它填写页面上的表单(默认为用户填写其余部分之前。)
例如,它可以接受这样的URL:
http://www.example.com/test.php?id=sendform&name=somename&ver=1.0&desc=some%20description
然后PHP脚本读取传递给它的参数(通过像stripslashes($_REQUEST['desc']);
这样的函数)并创建HTML标记,其中填写了传递给它的数据的表单字段。
所以这个工作正常,直到我注意到如果我传递一个长URL(我不知道确切的限制,但是例如我的测试URL长度为1,280个字符)我的test.php
中的脚本会没有执行,页面会长时间挂起,直到浏览器因错误而超时。
我首先认为stripslashes($_REQUEST['desc']);
电话是罪魁祸首,因此除了简单的一行之外我删除了所有内容:
print("Got to the end");
仍然挂了很长的网址。
所以我很好奇,为什么会这样?以及如何防止这种“挂断”?
答案 0 :(得分:0)
理想情况下,您不应该使用长网址,因为建议的限制是不要超过256个字符,包括主机。根据您提供的信息很难弄清楚,但可能是因为
建议避免使用更长的URL,如果可能,请使用POST方法发送数据。