我目前正在构建一个可以与各种应用程序一起使用的应用程序框架。该框架是用PHP编写的,并具有RESTful API。我希望框架能够使用jQuery和我的API组合来启用单页面应用程序。
我已经研究过backbone.js,但我遇到的问题和其他一些类似的事实是你基本上是在js中复制你的业务逻辑。这不仅有效地使代码库的大小翻倍,而且还存在各种安全风险。通过在js中复制您的业务逻辑,您向整个世界展示了您的后端的样子,这使得恶意用户的工作变得更加容易。
那说我当然不是前端/ js大师,我真的只是非常认真地看看backbone.js。我的想法是必须有一个很好的方法来定义动态js函数,它们完成了基本相同的事情。我正在寻找的是正确的方向,即使它告诉我我有多么错误。
答案 0 :(得分:0)
如果您使用REST通过JSON更新模型,那么您实际上没有应用程序中的代码量的两倍。这实际上取决于您希望在客户端上完成多少工作以及服务器上的工作量。如果您想要基本的表单验证,则必须在客户端和服务器上编写它。
在客户端上复制业务逻辑似乎不是问题。简单地提交无效数据最终会将您的业务规则暴露给恶意用户。缩小javascript将有很长的路要走,以帮助阻止这种情况,但大多数情况下,您只需对服务器上的客户端和业务规则进行简单验证。
答案 1 :(得分:0)
我正在为我的SPA创建并使用以下结构:
├── ajax //~ function calls, posted data must be on the same server
├── html //~ webroot
│ ├── css
│ ├── fonts
│ ├── images
│ ├── js //~ js files, including jquery,init,functions,admin,etc.
│ └── uploads
|_ index.php,.htaccess
├── includes //~ config,functions,router,index.html-the template
这是一个SEO友好的SPA框架,我认为(希望?)是非常安全的 所有ajax调用都在原始服务器上发布 我希望有人看到这个,并且如果我做了一件肆无忌惮的事情,我会有一些见解