当我验证客户端(
javascript)在服务器(
PHP)上进行的计算时,我正在寻找DRY.我在服务器上验证是为了防止恶意用户重复javascript,但我在客户端计算以避免AJAXing中的延迟和服务器压力回到服务器进行验证.
我的问题:有没有办法做这个干,或者我是否必须用两种语言编写代码?如果必须写出来,为了DRY目的,AJAX回到服务器会更好吗,还是应该用两种语言写出相同的验证码?
This question正是我正在寻找的答案,但它从未得到满意的回答.
编辑(1/25/15):虽然接受的答案代表,特别是因为我的原始问题指出服务器是在PHP上运行,我认为值得指出服务器端验证可以使用Node.js完成,它允许javascript代码在后端服务器上运行.我后来转向这种方法,它确实允许在客户端和服务器上重用代码,这将允许上述一次写入验证.回想起来,@ slebetman在下面的评论确定了最适合我的方法.
最佳答案 客户端验证就是节省用户时间.通过不必将错误数据发送到服务器然后拒绝请求,我们可以节省加载时间.
服务器端验证是关于安全性的.我们需要确保我们在服务器上获得的数据是有效的,不会给我们带来任何问题.
所以在我看来,最好两次编写代码,除非必须,否则不要使用AJAX请求来验证数据