我想知道是应该让一个php脚本执行所有sqli交互并使用AJAX调用访问信息,还是应该在同一页面上处理这些交互。两者都有安全问题吗。什么是最佳实践?
发布于 2022-02-12 18:23:20
这是相当主观的,因为有相当一部分的个人偏好。不知道页面上到底是什么,不知道你想花多少时间在页面上工作,也不知道你的技能水平,我们就不能确定哪一个是最好的。
有一些优点,也有缺点
如果呈现页面中的所有内容,那么页面本身在浏览器中最初加载的速度会更慢,因此如果初始加载时间对您很重要,请使用ajax请求。
如果您正在编写基本的管理页,CRUD ()记录,并且它只用于少数用户,也许您可以通过使用完整的页面请求来节省构建它们的时间。
就我个人而言,我发现编写/调试用php呈现的完整页面更快,仅仅是因为我没有编写js/jquery/react或任何您正在使用的客户端脚本。
使用ajax,您最终会在客户端和服务器端进行验证,因为您永远不能信任发送给服务器的数据,因此最终用户可以轻松地绕过js验证。
从最终用户的角度来看,我发现ajax请求提供了更好的体验。用户可以快速地看到页面加载,有一些旋转器(所以您知道正在发生什么),然后部分页面加载,想想facebook这样的页面,向下滚动,接下来会有大量的故事加载并附加到页面中,而不需要重新加载整个页面。
出于安全考虑,完整页面请求和ajax请求通常都是安全的,大多数都依赖cookies进行身份验证,cookies对于这两种方法都是一样的。
发布于 2022-02-12 18:31:55
除了“保险杠箱”的出色回答……
在Ajax模型中,转换是通过Javascript更改页面上的内容(通常称为单一页面应用程序或SPA),而不是刷新基本HTML,因此有很大的内存泄漏风险。远程诊断行为,甚至只是收集分析,都是个问题。
相反,很少会看到不包含Javascript和CSS的网页--加载和处理这些内容是性能的一个主要瓶颈。如果它们只加载一次(即在SPA中),则在后续伪导航事件中消除该瓶颈。
更让人困惑的是,帕克斯结合了这两种方法的优点,同时消除了一些缺点。
https://stackoverflow.com/questions/71094530
复制相似问题