分类‘网络技术’

前端跨域问题及解决方案

对于绝大多数B/S系统开发者来说,"跨域"并不是什么陌生的词汇,但也往往因为熟悉而忽略其本质。众所周知,Web浏览器往往是不安全的,出于安全考虑,Netscape公司1995年在浏览器中引入同源策略(same-origin policy),目的是为了保证用户信息的安全,防止恶意的网站窃取数据。目前,所有浏览器都实行这个政策,"跨域"问题也由此形成。

所谓同源,简单的讲,就是网址必须是同协议、同域名(主域、子域与不同子域都称为非同域名)、同端口,两个网址出现任一项不同则出现跨域。

受同源策略影响,出现跨域的情况,我们不能做以下三类事

1)不能操作cookie、LocalStorage(SessionStorage) 和 IndexDB
2)不能操作DOM
3)不能发送AJAX 请求

显然,同源策略影响的不止是"恶意网站",合理的用途也受到影响。下面将介绍如何规避上面三种限制。
查看更多...

为你的Express应用增加CSRF防护

CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

众所周知,Web系统并没有绝对的安全,就比如我们公司年前遇到的情况,有些恶心网站通过网络抓包等手段,截取验证码发送接口,通过伪造请求实现了传入任意手机号并发送验证码的功能,虽然这看起来并没有什么用,但当这些不法分子拔了成百上千个接口后,就形成了一个疯狂的短信轰炸机,对于服务提供者,这些地下网站只要有人使用,就会不断得消耗短信费用,给企业带来不必要的损失。 查看更多...

使用iptables限制访问网站指定端口

Linux用得比较少,所以对iptables也不是很熟悉,最近部署网站,因为对外的80端口是通过nginx转发,而内部程序都是类似8080、3000之类的端口,不做处理的情况下,很可能会看到如:地址www.poorren.com、地址www.poorren.com:8080同时可以访问的情况,这样对于SEO其实是很不利的,比如cnodejs.org,经常会搜到NodeJS相关文章,但是路径是cnodejs.org:8080,这样一来给用户带来不便,二来多个相同内容也一定程度上降低权重,所以,我们要禁止对带非80端口的路径进行访问。

看了相关文章,都是推荐iptables配置,尝试一番后解决了手头上问题,特记录一下,利人利己。

配置很简单,命令如下:

1、在tcp协议中,禁止所有的ip访问本机的8080端口。

iptables -I INPUT -p tcp --dport 8080 -j DROP

2、允许127.0.0.1访问本机的8080端口 查看更多...

CORS跨域请求[简单请求与复杂请求]

CORS即Cross Origin Resource Sharing(跨来源资源共享),通俗说就是我们所熟知的跨域请求。众所周知,在以前,跨域可以采用代理、JSONP等方式,而在Modern浏览器面前,这些终将成为过去式,因为有了CORS。

CORS在最初接触的时候只大概了解到,通过服务器端设置Access-Control-Allow-Origin响应头,即可使指定来源像访问同源接口一样访问跨域接口,最近在使用CORS的时候,由于需要传输自定义Header信息,发现原来CORS的规范定义远不止这些。

CORS可以分成两种:

1、简单请求
2、复杂请求

一个简单的请求大致如下 查看更多...

XSS攻击的原理

近来又在论坛看到有xss的通知,由于概念模糊,就扫下盲,顺便转些东西过来了。

概念说明

Xss(cross-site scripting)攻击指的是攻击者往Web页面里插入恶意html标签或者javascript代码,当用户浏览该页或者进行某些操作时,攻击者利用用户对原网站的信任,诱骗用户或浏览器执行一些不安全的操作或者向其它网站提交用户的私密信息。
比如:攻击者在论坛中放一个看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
诸如此类,唯一能完全杜绝xss攻击的方法,就是禁用script,img等,显然这是不靠谱的,用户需要丰富的页面内容;当然我们可以用一些方法预防xss攻击,尽量减少xss造成的危害。

XSS攻击的危害包括 查看更多...

巧用SFTP账号配合SSH客户端浏览网站

前几天曾介绍了《Linux主机建立只有代理权限的SSH用户简单步骤》,有人说不知道SSH怎么用,这个其实一早就想发了,但考虑到个别因素,一直没有分享,现在几经折腾,固定流量流失得所剩无几,也无所谓了,就分享下自己常用的方法吧。

关于此类信息,此前也曾分享过《简单两步,让你的手机告别vpn、远离ssh》,文中描述了手机科学上网的方式,这里不再赘述,其实很多人知道这东西在电脑上也蛮好用的,不过前一段貌似也不好使了,于是暂且抛之。重拾VPN不是不可,但是现在看来,一般情况下我们的需求并不需要VPN那么强大的支持。也许我们只是需要一种正常科学的上网途径(都懂的)。 查看更多...

Linux主机建立只有代理权限的SSH用户简单步骤

相信很多朋友跟我一样,在有些时候,因为一些特殊的问题,需要用到代理。至于VPN代理就不多说了,有经验的都知道,XEN的VPS搭建VPN比较容易,wget个PPTP一键安装包很顺利就搭建好了。但是OpenVZ就麻烦一点,可能要TK开通TUN/PPP,然后安装,可能还遇到一些莫名的问题。关于此类操作,可以见《CentOS下安装PPTP VPN小记》,记录了使用xen架构下安装PPTP VPN的步骤。

虽然我也偶尔用用VPN,但是个人认为,VPN有时候并不是完美的解决方案,比如你喜欢上QQ,开了VPN就要重新登录,一般还要输验证码,如果设置了登录验证,甚至还需要验证密保等,相信大多数人不喜欢这点,除此之外,还有些其他问题,比如浏览本地网站慢了,等等问题。所以,一般情况下VPN还不如SSH方便。 查看更多...

新网新版在线提问系统BUG,望新网重视

说起来有一段没有更新过博客了,主要是因为朋友公司的域名在一个颓废了的新网代理那里,原先是我注册的,我自然要给搞出来了,无奈注册时填写信息不是我本人,而是公司简称,熟悉国内域名管理情况的都应该明白了,这样提供不了有力资料只能等待域名删除再续费了,联系新网转入官网,新网也不给转,这便是前奏。

随之,因为这几天没有面试,直接整天联系新网客服,新网客服态度蛮横,让我一度想一骂为快,最终还是忍住了,这是其次。

下面贴出本文主题,新网在线提问系统BUG。 查看更多...

Flame病毒潜伏5年后现身,比Stuxnet病毒强20倍

据各大网站5月29日报道,一种名为Flame的新型蠕虫病毒最近在中东地区被发现,目前至少已有数万台电脑被感染。安全专家称该病毒具有极强的间谍功能,比Stuxnet病毒强20倍,是迄今为止最为复杂的病毒。

匈牙利布达佩斯大学计算机安全研究实验室Crysys实验室的研究人员在对该病毒进行初步分析后发现,Flame并不会对计算机硬件造成损害,窃取信息才是其主要目的。感染这种病毒的电脑会在用户毫不知情的情况下变成窃听装置。Flame能调用包括键盘、显示器、麦克风、存储设备、WiFi、蓝牙在内的多种设备,窃取文件、记录用户输入内容或窃听附近人们的谈话。他们初步的技术报告认为,这种病毒使用了5种加密算法和一种特殊的数据存储格式,在技术上达到了前所未有的层次。

研究人员称,Flame病毒和Stuxnet病毒以及Duqu病毒较为相似,极有可能受同一群人控制。由于其攻击对象主要是中东地区的教育和政府机构,普通用户不必过度担心。

Flame病毒,可攻击任何国家,全面了解需10年

说flame可以攻击任何国家,其实毫不夸张,下面是该病毒感染地区,可见已经感染很严重

查看更多...

CentOS下安装PPTP VPN小记

最近得一台256的vps,一个月,拿来做站什么的都不至于。首先是配置了lnmp环境放了个dz论坛做测试,最近又刚好用到cloudfoundry,vmc的下载貌似得翻那个什么。这时候就想起了我的小vps了。虽然内存不大,带宽貌似还是不错的,主机是百兆的,到每个小鸡上面不知道有多少,总知ssh下载还有10Ms的速度呢。因为昨天重装了n便系统,最终选择保留了64bit的centos,这样说,安装个pptp应该还不错,因为pptp的vpn只有独立服务器和XEN的VPS可以搭建(这点网上看到的,个人表示没有尝试过,还刚好小子的vps是xen的)。

二话不说直接动工。

pptpd VPN需要内核支持mppe,如果不支持,请联系你的服务商,或者宣告失败吧。

首先,在安装之前,需要检测服务器是否支持ppp 查看更多...