【发布时间】:2017-07-23 16:14:27
【问题描述】:
我一直在互联网上搜索,但令人惊讶的是,任何人都没有提出单一的答案或单一的查询,我是唯一一个面临这个问题的人吗?可能是因为当我们在表单中说 URL 时,谷歌给出了所有与表单的“属性”相关的结果。但在这里我根本不是在谈论动作 URL。所以我将从html代码开始。
<form action="/something_that_does_not_matter" method=post>
<input name="profile" type="text" placeholder="Enter name"/>
<input name="link" type="text" placeholder"="Enter URL"/>
</form>
如果用户在两个输入中都提交了一些字符串,则此表单可以正常工作。 什么时候成为问题? 当您在链接字段中输入任何网址时。因为那是应该做的。 请不要让我在这里告诉脚本,因为我 100% 确定服务器端没有问题,因为我什至尝试过使用最简单的 php,例如
<?php echo $_POST["link"]; ?>
它只发生在经过认证的主机服务器上,在我的本地它工作正常,一点点猜测和研究给了我一个原因,即 apache 有这个安全协议,如果启用它不会让你提交有害的东西。它阻止了我的任何网址,即使提交“http://hey”它也会被阻止,所以问题也不在于网址。
我的托管服务提供商已准备好为我禁用该规则,但风险自负。所以我显然不想那样。
所以现在我的问题是为什么那里有安全性,如果它真的是威胁,那么真正想要真正做到这一点的人会如何做到呢?
对于纯 html 表单提交,我根本找不到解决方案。但是对于基于 ajax 的请求,我找到了一些解决方案。 首先,我尝试编码/解码哪个不起作用,因为服务器首先尝试找到其中包含 http:// 的编码子字符串。所以没用
另一个解决方案是提交 ht$$p:// 然后在我的 php 脚本中修复它。但它的所有解决方法,并迫使我使用基于 Ajax。如果只是想以 HTML 形式进行,我的应用程序上不会有 JavaScript。
有人吗?
【问题讨论】:
-
没有javascript这显然是不可能的,因为浏览器只有在被告知的情况下才能提交一些东西。你无法掩饰任何事情。问题是:为什么没有javascript?没有这些日子,任何网站都无法运行。
标签: php apache .htaccess http security