一、”window.location.href”、”location.href”两个是一样的,代表当前窗口的url,因此在xss代码获取location.href的值就可以获取当前窗口的url值。当然如果对location.href进行赋值,那就是本页面跳转到指定url。
二、”parent.location.href”代表的是上一层页面的url,如果对其赋值则是上一页面的跳转。当然,如果在xss代码中获取此值就可获取上层页面的url。
三、”top.location.href”代表的是最外层的页面的url即主窗口的url,对其赋值则会使主窗口页面跳转。当然,如果在xss代码中获取此值就可获取主窗口页面的url。
说明:如果在网页文件中只有一个框架,即没有iframe和frmaeset,那么上述几个变量是完全一致的,没有区别。只用当页面中使用了框架时上述几个变量才会不一样。
举例说明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
“window.location.href”、”location.href”:D页面跳转
“parent.location.href”:C页面跳转
“top.location.href”:A页面跳转
如果D页面中有form的话,
<form>: form提交后D页面跳转
<form target=”_blank”>: form提交后弹出新页面
<form target=”_parent”>: form提交后C页面跳转
<form target=”_top”> : form提交后A页面跳转
关于页面刷新,D 页面中这样写:
“parent.location.reload();”: C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )
转载请注明:jinglingshu的博客 » 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法