嘿伙计们,我正在进行AJAX POST
调用 - 但是使用FireBug,您可以看到所有细节(允许人们绕过表单)。
有关混淆此POST
的任何提示(或类似的内容)?
我的ajax电话:
$.ajax({
type: "POST",
url: "php/query.php",
cache: false,
data: "action=getWordsByLetter&l="+letter,
success: function(data){
dataArray = data.split('|');
$('#words').html('');
for(var i = 0; i < (dataArray.length - 1); i++) {
$('#words').append('<li class="w">'+dataArray[i]+'</li>');
}
}
});
我更愿意自己编写代码而不是依赖插件:)
答案 0 :(得分:7)
如果绕过表单是一个主要问题,您可以随时包含reCaptcha,该表单应包含在该表单的每个帖子中。
我不知道您正在解决的情况,但这会使或多或少无法进行编程POST。
另一种方式是建议客户端库。您既可以使用客户端库,也可以轻松自己编写,也可以编写自己的代码来执行类似操作。
据我所知,你的表格上至少有一个字段。并且您只应在首次请求时处理此表单。你能做的是让这个字段的名字完全动态:
如果存在机器人消耗结果的风险,您可以随时以各种方式更改文档的结构(更改容器元素,更改其CSS类名称,ID等)。制作一个变更列表(其中几个)和用户排列。您可以或多或少地总是在视觉上对人类产生相同的结果,但机器将难以阅读它。
答案 1 :(得分:2)
由于混淆是客户端,任何人都可以查看您的混淆代码并篡改帖子 - 您没有获得太多收益。
保护服务器端:具有最小字长和防洪保护(仅在Y秒内接受来自客户端的X请求),并确保人们无法访问他们应该无法访问的任何数据为了它。
答案 2 :(得分:0)
实际上,我认为您应该制作服务器应用程序,以便人们绕过实际表单并不重要。
始终 - ''始终''假设您的客户端已损坏,可能是机器人,黑客等。此POST提交的服务应该不允许滥用。
混淆是通过默默无闻的安全,而不是保证不会滥用任何东西。事实上,在这种情况下,它甚至可能使您的应用程序更复杂一个数量级。为了有效,它必须“随机化”发送到服务器的密钥和值,在这种情况下,服务器本身应该知道哪个混淆密钥与哪个值匹配。事实上,我认为你不是在寻找混淆,而是在寻找加密。