javascript - HTML+javascript 还是 javascript+jsp?
问题描述
嗨,我是动态网络开发的新手。我搜索了这个网站,但找不到类似的东西。
我想实现一个密码检查器,用于稳健性和长度等。相当传统。问题是,我有 2 个选项: 1. 在 HTML 中嵌入 javascript。2.在jsp文件中嵌入javascript。
经过一点初步研究,似乎大多数人都推荐前者,即使用 HTML。我想知道为什么?我可能完全错了,在那种情况下,我也想知道为什么?
“如何”并不那么重要,而是“为什么”。
编辑:我知道这个问题充满了缺陷(例如 JSP 和 HTML 不是相互排斥的),但请放纵我一点,告诉我哪种方案更合适,如果我想在前端完成工作,在用户的浏览器。
编辑#2:对不起,我没有提供任何 bg 信息:我正在做一个更大的项目,密码检查器只是其中的一部分,项目本身是一个动态 Web 项目,主要依赖于 java、serverlet。
解决方案
取决于您的用例。在某些情况下,仅前端就足够了。在许多情况下,我会说两者都更好。
通过将其放在前端/客户端(“HTML”)中,您可以创建一种更加用户友好的方法,因为您可以快速、持续地评估用户的输入并为他们提供反馈。
如果从安全角度来看,应用程序不需要特别健壮,这可能就足够了。
仅 HTML 验证任何用户输入的缺点是它很容易被绕过。作为一名程序员,我可以弄清楚它在做什么,并轻松绕过任何和所有客户端保护。用户也可以完全禁用 JavaScript,因此如果您的网站通常在没有 JavaScript 的情况下运行,他们将不会得到任何验证。这就是为什么客户端的“安全性”从来都不是问题的原因。永远不要相信客户。
仅在后端/服务器端(“JSP”)实现它,您可以锁定安全性,因为最终用户无法绕过您的任何验证。它必须符合您提出的规则。
服务器端的缺点是您必须将数据发送到服务器进行分析,然后等待响应。虽然这可能很快,但它仍然比客户端慢得多。
通过在这两个方面都这样做,您可以获得两全其美的效果。您无需向服务器发送任何数据即可获得最终用户的快速反馈,并获得确保在服务器端正确验证数据的全面保护。
当然,这样做的缺点是您必须加倍编写代码,因此需要付出更多努力。这就是为什么您要在特定情况下权衡利弊的原因,因为没有一个“最佳”答案。
推荐阅读
- powershell - 使用 Powershell 获取 *.lrc 以匹配它们的 *.flac 名称
- scala - spark Scala 数据框选择
- python - 错误是什么意思以及如何解决 - “ValueError:查询数据维度必须匹配训练数据维度”
- javascript - 如何在数组 JavaScript 中仅包含更新的项目
- c# - VS2019、C#、“just-my-code”和不真实的 DLL
- reactjs - axios-mock-adapter onGet 模拟数据无效
- sql - PostgreSQL11 xpath 查询无法正常工作
- git - Git状态忽略更改的行尾
- r - 如何将R中每一行的时间戳转换为日期?
- flutter - 如何在列中正确使用未来的构建器