1)Javascript针对恶意代码的第一条防线就是这种语言不支持某些功能。如,客户端的Javascript不提供任何方式来读取,写入或删除客户端计算机上的文件和目录。没有File对象,也没有文件访问函数,一个Javascript程序就无法删除用户的数据或者在用户系统中植入病毒。
2)Javascript在自己所支持的某些功能上强加限制。如,
A 客户端的Javascript可以脚本化HTTP协议来和服务器交换数据,并且它甚至可以从FTP或其它服务器下载数据,但Javascript不提供通用的网络原语,并且无法为任何主机打开一个socket或者接受一个来自其它主机的连接。
B Javascript程序可以打开一个新的窗口,但为了防止广告滥用弹出窗口,很多浏览器限制这一功能,使其只能在为了响应鼠标点击事件时才能使用它。
C 当鼠标移动到链接上时,Javascript程序无法通过设置状态行文本来使链接的目标地址变得模糊不清。(以防网络钓鱼陷阱)
D 脚本无法打开一个太小的窗口(通常一边小于100px)或者把一个窗口缩小到太小。同样,脚本也不能把窗口移出屏幕外,或者创建一个比屏幕更大的窗口,这就防止打开用户无法看到的或者可能忽略的窗口,这样的窗口可能包含继续运行的脚本而用户却以为它们已经停止了。还有,脚本无法创建一个没有标题或状态行的窗口。
E HTML的FileUpload元素的value属性无法设置。如果这个属性可设置,一个脚本可以将其设置为任何想要的文件名,并且引发表单将任何指定文件(如/etc/passwd)内容上传到服务器。
F 脚本不能读取从不同服务器载入的文档的内容,除非这个文档就是包含该脚本的文档。类似的,一个脚本不能在来自不同服务器的文档上注册事件监听器,这就防止脚本窃取给其它页面的用户输入。这一限制称为浏览器的同源策略。
更多关于跨域问题,请见:
跨域的理解与实现 http://blog.csdn.net/bill200711022/article/details/7770960
{{js跨域请求解决方案}}Use a Web Proxy for Cross-Domain XMLHttpRequest Calls(使用服务器端代理实现Ajax跨域请求)http://blog.csdn.net/bill200711022/article/details/7774095
{{js跨域请求解决方案续}}Cross-domain XMLHttpRequest(使用Apache mod_rewrite实现跨域请求)
http://blog.csdn.net/bill200711022/article/details/7784432