POST到服务器,其中encodeURIComponent包含><导致301重定向的字符
POST to server with encodeURIComponent containing >< characters causing a 301 redirect
我正在将一个HTML字符串发布到Apache服务器,接收函数只是将字符串写入数据库。它没有什么大的或聪明的地方,它适用于其他所有实现。
我在POST之前对字符串进行encodeURIComponent处理,服务器返回301重定向并转移到非www版本的域上的GET请求。除了标准的Wordpress配置之外,htaccess中没有其他功能。无论如何,这只是一个文本字符串。我还用exit()替换了服务器上的函数,将其从等式中删除。
我使用相同的机制,通过相同的目标函数将大量其他数据发布到该服务器,没有任何问题。
我发现问题是发送字符><在发送HTML时,这些情况经常发生。
所以我通过:encodeURIComponent("<span class='teststring'><span>")发送
哪个帖子。。action=updatemenu&mstring=%3Cspan%20class%3'测试字符串'%3E%3span%3E
并返回。。岗位http://www.DOMAINREMOVED.co.uk/twdc/CMS/TellMe.php301永久移动301ms然后是。。得到http://DOMAINREMOVED.co.uk/twdc/CMS/TellMe.php301永久移动108ms
如果我移除>或<从><模式它工作得很好!将上面的encodedURI字符串缩减为仅><导致相同的错误。
我完全不知所措。以前有人遇到过这个,或者有什么想法吗?我想最终我可以用安全的东西替换有问题的字符串,但这有一定的意义,因为所有用户输入都必须进行编码/解码,以防万一。这肯定没有必要吗?
我只是试着把所有的><在encodeURIComponent结果上用replace(/%3E%3C/g,"~~")替换POST字符串,并将其传递到服务器,而不会出现重定向/错误。
编辑7月19日00:00
我注意到;在POST中,这是响应标头。如果没有违规字符,x-pingback不会出现在响应标头中。
缓存控制没有缓存,必须重新验证,最长期限=0连接保持活动内容长度0内容类型text.html;charset=UTF-8日期2013年7月18日星期四22:57:07 GMT有效期至1984年1月11日星期三格林尼治标准时间05:00:00保持活动超时=5,最大值=100位置http://*domain*.co.uk/twdc/CMS/TellMe.phpPragma无缓存服务器ApacheX-Pingback http://*domain*.co.uk/xmlrpc.phpX-Powered-By-PHP/5.117
我想这与WordPress有关。有人能说明这件事吗?
需要明确的是,当前网站是基于Wordpress的;替代品不是,但在建造新的替代品的过程中,它们是共存的。
我仍然不确定Wordpress和POSTing HTML字符的问题是什么,但我发现,如果我将要发送的数据编码为JSON对象,服务器不会反对。
我认为这在某种程度上阻止了wordpress使用的任何函数解析HTML。。不过我还是想知道原因!
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- http/rxjs catch回调中的Angular 2重定向导致TypeError:无法读取属性'订阅'
- 包含导致重定向的空白javascript文件
- AngularJs $http postsuccessCallback 导致页面重定向,即使服务器以 200 状态响应也
- AngularJs 和 Codeigniter 路由会导致无限重定向循环
- 将 JS 文件添加到 web.config 中用于表单身份验证的例外文件列表中会导致无限重定向
- 调试哪个 Javascript 导致重定向
- 页面加载时重定向导致的AngularJS无限循环
- 表单onsubmit重定向导致表单未提交
- POST到服务器,其中encodeURIComponent包含><导致301重定向的字符
- Javascript重定向导致asp.net 4.0表单中出现安全异常
- 我的网站正在加载其他网站,导致它重定向到它
- 为什么某些重定向导致Nexus Chrome浏览器不运行Javascript
- 重定向到另一个页面会导致dup条目
- 执行使用bookmarklet导致重定向的javascript命令
- 链接和JS重定向,导致在Office JS插件中打开一个新窗口
- JavaScript重定向会导致不需要的搜索引擎结果
- addEventListener问题导致ie8重定向