后台管理中我们首先需要完成登录功能,我们可以通过改写美多表单登录来完成相应的功能。
在后台登录中,由于我们前端服务和后端服务的域名不一样,所以我们首先解决跨域问题。
登后的状态保持我们采用jwt
1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。
同源策略是浏览器的一个安全功能,不同源的客户端脚本(js文件)在没有明确授权的情况下,不能读写对方资源。只有同一个源的脚本赋予dom、读写cookie、session、ajax等操作的权限。
url由协议、域名、端口和路径组成,如果两个url的协议、域名和端口相同,则这两个url是同源的。
举例来说,http://www.example.com/dir/page.html
这个网址,协议是http://
,域名是www.example.com
,端口是80
(默认端口可以省略)。它的同源情况如下。
url | 是否同源 | 原因 |
---|---|---|
http://www.example.com/dir2/other.html | 是 | 协议、端口、主机相同 |
https://example.com/dir/other.html | 否 | 不同的协议(https) |
http://www.example.com:81 | 否 | 端口不同(81) |
http://news.example.com/ | 否 | 域名不同 |
同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。
设想这样一种情况:A网站是一家银行,用户登录以后,又去浏览其他网站。如果其他网站可以读取A网站的 Cookie,会发生什么?
很显然,如果 Cookie 包含隐私(比如存款总额),这些信息就会泄漏。更可怕的是,Cookie 往往用来保存用户的登录状态,如果用户没有退出登录,其他网站就可以冒充用户,为所欲为。因为浏览器同时还规定,提交表单不受同源政策的限制。
由此可见,"同源政策"是必需的,否则 Cookie 可以共享,互联网就毫无安全可言了。