Форма отправить с Mootools - PullRequest
       1

Форма отправить с Mootools

0 голосов
/ 17 марта 2011

У меня есть регистрационная форма.Мне нужно отправить его через Ajax Post (mootools) в файл php.Какой самый лучший и безопасный способ размещения формы?Многие, спасибо

1 Ответ

2 голосов
/ 17 марта 2011

Это может быть короткая тема или длинная тема, в зависимости от того, что вы подразумеваете под «безопасным»? Что вас беспокоит здесь?

Посмотрите на этот базовый пример: http://jsfiddle.net/dimitar/tr74c/

По сути, правило - не доверять клиенту. Когда-либо. Этот пример выполняется в замыкании (трудно проколоть), проходит через входные данные и удаляет все элементы сценария, которые могут вызвать внедрение, если вы выводите результат позже. Затем он отправляет на сервер и выводит материал обратно для удовольствия.

Вы не должны верить, что stripScripts() сработал и strip_tags в PHP также и любые другие меры безопасности, которые вы применяете к данным такого пользователя, как mysql_real_escape_string и т. Д.

Это в вашем блоке domready.

(function() {
    var form = document.id("register"), els = form.getElements("input.required"), result = document.id("result");

    form.addEvent("submit", function(e) {
        e.stop();

        var errors = false;
        // clean inputs from cross site scripting and some basic validation, put yours in.
        els.each(function(el) {
            var value = el.get("value").stripScripts();
            if (value.length < 3) // example min 3 length
                errors = true;

            el.set("value", value);
        });

        if (!errors) {
            // set jsfiddle html.
            document.id("html").set("value", "Submited safe data was: User: " + document.id("login").get("value") + ", pass: " + document.id("pass").get("value"));
            new Request({
                url: this.get("action"),
                data: this,
                onComplete: function() {
                    result.set("html", this.response.text);
                }
            }).send();
        }
        else {
            alert("fill in all required fields with at least 3 chars");
        }
    });
})();

Имейте в виду, что HTML-переменная предназначена для вывода с помощью jsfiddle, имитирующего ajax, и не очень нужна в производстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...