javascript函数从编写的脚本外部调用是安全的吗?


Are javascript functions safe from being called from outside the writen script?

在我的旅行中,我遇到了一些url hack和一些开发工具在少数浏览器中,我有时间看了一下,使我问这个问题。

是否有黑客或工具将剥离脚本javascript函数和/或允许用户填充他们自己的参数并运行函数?

当然,我不是指如果你不过滤全局变量always,注册全局变量会造成明显的安全漏洞;也不是指表单注入攻击。

我确实使用了很多xmlhttprequest帖子和分隔的字符串,而使用php preg_match的基本字符是不同的每个不同的post变量之前,任何输入击中服务器脚本。Register Globals ->关闭。然而,我想我正在寻找的东西,我可以调整某些功能,对我来说更安全。

IE . .我不希望函数连续被调用1000次,速度和工具一样快,但我不想浪费资源,如果某些东西是安全的。

我这样做不仅是出于安全原因,也是出于大小和优化的原因。

我认为数据包嗅探器/拦截器/发送者可能能够,但我不是100%确定。此外,我也不确定是否有这么大的需要去计算调用,如果不能这样做的话,调用可能会影响服务器性能。即. .在服务器上监视xmlhttprequest。

//////////////编辑//////////

作为参考,我刚刚遇到的一个工具,一个。htaccess文件有能力根据查询中的内容进行重定向。我猜它不是万无一失的,只是众多工具中的一种。然而,它可以防止url攻击。在我看来,当apache调用.htaccess文件时,它可以通过重定向减少负载,并在成功捕获上停止大多数加载。http://simonecarletti.com/blog/2009/01/apache-query-string-redirects。

所以你需要问自己的第一件事是:攻击者在哪里,攻击面是什么?用户总是能够访问所有的JavaScript,他可以自由地操纵这个JavaScript,但他喜欢(SpiderMonkey)。用户可以自由拦截任何 HTTP请求,并修改此请求,但他们想(打嗝)。在浏览器上运行的JavaScript函数无论如何都不会成为攻击面,也永远不会。没有人关心谁在调用JS函数,因为这不是一个可滥用的条件。

你需要问自己的真正的安全问题是:"你的应用程序容易受到跨站点脚本攻击吗?"