-1

我在我的 Codeigniter 项目中使用这个例子,想知道如何防止人们使用下面的代码进行 DDoS 风格的攻击?我应该更改下面的代码还是应该在我的 Codeigniter 控制器中做些什么?

还有一件事,哪种方法更好?

版本 1:

var form_data = $(this).serialize();
$.post('ci_class/ci_method', form_data, function(response)

版本 2:

$(document).ready(function()
{
    $("#img_search").click(function(event)
    {
        event.preventDefault();

        var p    = $('#text_postcode').attr('value');
        var hash = $('#hidden_hash').attr('value');

        $.ajax({
            type        : 'POST',
            url     : 'ci_class/ci_method',
            data        : 'pc=' + pc + '&hash=' + hash,
            dataType    : 'json',
            success     : function(response)
            {
4

1 回答 1

0

您不能在客户端代码中做任何事情来防止 DDoS 攻击,因为这样的攻击无论如何都不会使用客户端代码。

关于哪种方法更好,这取决于您认为哪种方法更好。

第一种方法更简单,并且可以动态地适应您在表单中输入的任何字段。

第二种方法更精确,只将需要的数据准确发送到服务器,但缺点是当您添加另一个要发送到服务器的字段时,您必须更新代码。


提示:您可以使用该val方法代替attr('value')

var p = $('#text_postcode').val();
var hash = $('#hidden_hash').val();

您可以将值放在对象文字中,而不是连接字符串来形成数据:

data: { pc: pc, hash: hash },
于 2012-11-09T10:10:24.540 回答