Php 使用Mootools提交表单

Php 使用Mootools提交表单,php,ajax,mootools,Php,Ajax,Mootools,我有一张登记表。我需要通过ajaxpost(mootools)将其发送到php文件。 发布表单的最佳安全方式是什么?许多thx可以是短主题,也可以是长主题,这取决于您所说的“安全”是什么意思?你在这里担心什么 看看这个基本示例: 基本上,规则是不信任客户。曾经这个例子在一个闭包中运行(很难刺穿),它通过输入并剥离任何脚本内容,如果您稍后输出结果,这些脚本内容可能会导致注入。然后,它提交给服务器,并将内容输出回来以供娱乐 您不应该相信PHP中的stripScripts()已经起作用,并且stri

我有一张登记表。我需要通过ajaxpost(mootools)将其发送到php文件。
发布表单的最佳安全方式是什么?许多thx可以是短主题,也可以是长主题,这取决于您所说的“安全”是什么意思?你在这里担心什么

看看这个基本示例:

基本上,规则是不信任客户。曾经这个例子在一个闭包中运行(很难刺穿),它通过输入并剥离任何脚本内容,如果您稍后输出结果,这些脚本内容可能会导致注入。然后,它提交给服务器,并将内容输出回来以供娱乐

您不应该相信PHP中的
stripScripts()
已经起作用,并且
strip\u标记也可以使用,以及用户对数据应用的任何其他安全措施,如
mysql\u real\u escape\u 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");
        }
    });
})();
(函数(){
var form=document.id(“register”),els=form.getElements(“input.required”),result=document.id(“result”);
表格.附录(“提交”,职能(e){
e、 停止();
var错误=错误;
//清理来自跨站点脚本和一些基本验证的输入,将您的输入放入。
els.每个(功能(el){
var value=el.get(“value”).stripscript();
if(value.length<3)//示例最小3长度
错误=正确;
el.设置(“值”,值);
});
如果(!错误){
//设置JSFIDLE html。
document.id(“html”).set(“value”,“提交的安全数据是:用户:”+document.id(“login”).get(“value”)+”,pass:“+document.id(“pass”).get(“value”);
新要求({
url:this.get(“操作”),
资料:这,,
onComplete:function(){
result.set(“html”,this.response.text);
}
}).send();
}
否则{
警报(“用至少3个字符填写所有必填字段”);
}
});
})();
请记住,HTML变量用于JSFIDLE模拟的ajax输出,在生产中并不真正需要