这个问题与StackOverflow 上的另一个问题直接相关。
我有同样的问题 - 但我不确定我可以将协议前缀分隔为另一个变量,如上述问题中所建议的那样。我正在使用 GET 操作,发送到使用数据的另一个页面(例如 index.php 上的表单将 GET 提交到 search.php)。
在索引页面上,用户可以键入要提交的数据,包括 URL(例如文本字段和提交按钮)。由于 URL 的性质,我预计会有一些人复制和粘贴 - 因此人们有时可能会包含 http://,无论我是否希望他们这样做。
如果 http: 包含在 GET 请求中(例如 search.php?q= http://google.com),那么我会在 search.php 上收到 403 Forbidden 错误 - 这是我遇到问题的地方。
在 JS 之外,有没有办法在将请求发送到 search.php 之前从用户输入中删除或分离协议前缀(如果存在)?EG 在用户点击提交之后但在数据被发送到另一个页面之前?
提前感谢您提供的任何答案或建议!
编辑:我知道我可以使用 urlencode 对 URL 进行编码 - 但可以在实际发送数据/GET 请求之前完成吗?