通过url执行javascript
我试图通过执行类似于以下javascript的操作来设置下一页上textarea的值:通过url执行javascript,javascript,Javascript,我试图通过执行类似于以下javascript的操作来设置下一页上textarea的值: javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla'); 如果我在目标页面的地址栏中手动输入代码,但我希望通过链接传递此参数,则此操作有效。。即 <a href="/nextpage.p
javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla');
如果我在目标页面的地址栏中手动输入代码,但我希望通过链接传递此参数,则此操作有效。。即
<a href="/nextpage.php?javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla');"
您可以像GET请求一样通过url发送参数。然后让接收页面解析位置。搜索
例如,您可以这样发送:
http://example.com/?arg1=foo&arg2=bar
var queryString = location.search; //?arg1=foo&arg2=bar
接收页面的脚本如下所示:
http://example.com/?arg1=foo&arg2=bar
var queryString = location.search; //?arg1=foo&arg2=bar
但是,您必须手动解析它,删除?
,按&
拆分,然后按=
拆分。这称为XSS或跨站点脚本,正如许多评论已经指出的,这是一个安全问题。这就是大多数主流浏览器不允许的原因。
然而,我相信一些浏览器确实允许它,例如Opera——尽管我记不起确切的版本。
如果您希望创建自己的“浏览器”,我建议您使用C#.Net WebBrowser,然后使用运行时包XULRunner()
尽管如此,我不建议做任何可能违反您当前所在地法律的事情,也不建议做任何让网站所有者不高兴的事情。是的。。浏览器不允许您这样做是有原因的。这是一个主要的安全漏洞。这是可能的,但是您需要在目标页面中使用一个脚本,该脚本从url中提取字符串并使用exec()执行itI猜测是这样,很遗憾,我没有权限编辑目标页面,因为它不在我的服务器上。URI以scheme:…
开头。该方案通常定义如何解释URL。例如,如果URI以http:
开头,则它是一个URL。如果它以file:
开头,则是本地文件的路径。如果它是javascript:
,那么浏览器会将其余部分作为javascript进行计算。(还有ldap:
,mailto:
,telnet:
,还有更多)。如果您有一个与/nextpage.php?javascript:alert(…)
的链接,那么您正在创建一个以http:
开头的URL,例如http://example.com/nextpage.php?javascript:alert(…)
。javascript:
现在不是模式。它被视为URL的一部分。您好,谢谢,但这不起作用,因为我没有编辑目标页面的权限。@user3329793很遗憾,您不能这样做。如果可能的话,这是一个安全问题。例如,如果可能的话,我可以弹出一个脚本,使目标页面看起来像银行登录页面,愚弄用户登录,并收集他们的登录数据。