2014-09-19 24 views
4

当我验证由客户端(javascript)在服务器(PHP)上进行的计算时,我期待DRY。我在服务器上进行了验证,以防止恶意用户重复使用JavaScript,但我正在计算客户端,以避免AJAX中的延迟和服务器紧张返回服务器进行验证。DRY当验证计算在客户端(Javascript)在服务器上(PHP)

我的问题:有没有办法做到这一点干,还是我必须用两种语言编写代码?如果必须写出来,为了DRY的目的,AJAX回到服务器更好还是应该用两种语言写出相同的验证代码?

This question正是我正在寻找的答案,但它从来没有令人满意的答案。

EDIT(15年1月25日):虽然接受的答案代表,特别是因为指定我原来的问题是在服务器对PHP运行,我认为它值得指出的是服务器端验证可以使用Node.js完成,它允许JavaScript代码在后端服务器上运行。随后我转向了这种方法,它确实允许在客户端和服务器上重新使用代码,这将允许在上述验证后进行写入。回顾@ slebetman下面的评论为我确定了最好的方法。

+2

你必须把它写两次,很遗憾。 – elclanrs 2014-09-19 00:26:11

+0

将它写入服务器端并使用AJAX被认为是更好的做法,还是认为它是两次写入更好的做法? – 2014-09-19 00:30:04

+3

我认为最好写两遍。 – elclanrs 2014-09-19 00:33:48

回答

2

客户端验证是关于节省用户时间。通过不必将不良数据发送到服务器,然后拒绝请求,我们可以节省加载时间。

服务器端验证是关于安全性的。我们需要确保我们在服务器上获得的数据是有效的,不会给我们带来任何问题。

所以,在我看来,这是最好写的代码两次,不使用AJAX请求来验证数据,除非你有

相关问题