我浏览了像twitter,instagram,snapchat等著名网站的页面来源。我发现所有这些网站的一个共同点是,在登录/注册页面的页面来源中没有输入标签。事实上,根本没有表单标签。我想知道这是安全措施还是别的什么。有人能回答我这个问题吗?
发布于 2020-07-05 15:58:31
这是过度依赖客户端编程而没有服务器端呈现作为后备的副作用。
它与安全没有任何关系。
发布于 2020-07-05 16:03:29
在web的早期,所有内容都出现在HTML代码中。这些页面几乎没有动态。
在历史上,页面变得越来越动态,有了更多的JavaScript。一些文档元素是通过JavaScript创建的,以响应一些用户事件(比如向表中添加行)。这成为了一种模式,这种模式也延伸到了页面的初始构建:一些流行的库完全是围绕着这个想法构建的。在极端情况下,HTML只包含一个script标记(除了html和body元素之外),JavaScript根据其他一些配置(在数据库、配置文件、JSON等中)完成生成页面的全部工作。它取消了超文本标记语言的设计,并将这一责任转移给了JavaScript。
这不是一个安全问题。这只是一些框架工作的一种方式。
发布于 2020-07-05 16:46:49
浏览器的页面源代码仅显示在服务器上呈现的内容。我们称之为服务器端渲染。
如今,随着客户端呈现的概念的提出,大部分网页都是在客户端生成的,使用React.js等JavaScript框架。服务器只生成基本的框架HTML。
所以,回答你的问题:为什么在登录/注册页面的页面源代码中没有输入标签-这是因为这些输入标签是在客户端使用Javascript生成的。这不会减轻任何安全风险,因为仍然可以通过DOM检查器访问输入标记
https://stackoverflow.com/questions/62738209
复制相似问题