通过url执行javascript

通过url执行javascript,javascript,Javascript,我试图通过执行类似于以下javascript的操作来设置下一页上textarea的值: javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla'); 如果我在目标页面的地址栏中手动输入代码,但我希望通过链接传递此参数,则此操作有效。。即 <a href="/nextpage.p

我试图通过执行类似于以下javascript的操作来设置下一页上textarea的值:

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很遗憾,您不能这样做。如果可能的话,这是一个安全问题。例如,如果可能的话,我可以弹出一个脚本,使目标页面看起来像银行登录页面,愚弄用户登录,并收集他们的登录数据。