-1

Codeigniter プロジェクトでこの例を使用していますが、以下のコードを使用して DDoS スタイルの攻撃を防ぐ方法を知りたいですか? 以下のコードを変更する必要がありますか、または Codeigniter コントローラーで何かを行う必要がありますか?

また、もう1つ、どのアプローチが優れていますか?

バージョン 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 攻撃を防ぐためにクライアント コードで何もすることはできません。そのような攻撃はいずれにしてもクライアント コードを使用しないからです。

どちらのアプローチが優れているかについては、どちらが優れていると考えるかによって異なります。

最初のアプローチはより単純で、フォームに入力したフィールドに動的に適応します。

2 番目のアプローチはより正確で、必要なデータのみをサーバーに送信しますが、欠点は、サーバーに送信する別のフィールドを追加するときにコードを更新する必要があることです。


ヒント: のval代わりに メソッドを使用できますattr('value')

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

文字列を連結してデータを形成する代わりに、値をオブジェクト リテラルに入れることができます。

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