~~3.1415926// 3 -~3.1415926// 4 今天在https://github.com/darcyclarke/Front-end-Developer-Interview-Questions/tree/master/Chinese 第一次看到,山炮了! ... read more
1、原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 } strre ... read more
转载自: https://github.com/DoubleSpout/threadAndPackage/blob/master/web_safety.md ~ 前言 本章将主要介绍使用Node.js开发web应用可能面临的安全问题,读者通过阅读本章可以了解web安全的基本概念,并且通过各种防御措施抵御一些常规的恶意攻击,搭建一个安全的web站点。 在学习本章之前,读者需要对HTTP协议、SQL数据库、Javascript有所了解。 什么是web安全 在互联网时代,数据安全与个人隐私受到了前所未有的挑战,我们作为网站开发者,必须让一个web站点满足基本的安全三要素: (1)机密性,要求保护数据内容不能泄露,加密是实现机密性的常用手段。 (2)完整性,要求用户获取的数据是完整不被篡改的,我们知道很多OAuth协议要求进行sign签名,就是保证了双方数据的完整性。 (3)可用性,保证我们的web站点是可被访问的,网站功能是正常运营的,常见DoS(Denail of Service 拒绝服务)攻击就是破坏了可用性这一点。 安全的定义和意识 web安全的定义根据攻击手段来分,我们把它分为如下两类: (1)服务安全, ... read more
好方便啊,几行就能写出一个小爬虫 var Crawler = require("simplecrawler"); var cheerio = require('cheerio'); var list = ['http://106.187.94.91','http://ruosen.io']; for (var idx in list){ var c = Crawler.crawl(list[idx]); c.on("fetchcomplete",function(queueItem,res){ $ = cheerio.load(res); console.log($('title').text()); this.stop(); }); } node-crawler和node-jquery在安装上还有一些问题。 用了另外两个包:simplecrawler和cheerio来替代。 ... read more
Nginx的if实在是太难用了,条件里没法! && ||之类的。 想了一个土法子让Nginx支持多条件判断 set $isUser true; if ( $http_referer = "www.17ce.com"){ set $isUser false; } if ($http_user_agent ~* "YoudaoBot|baiduspider|Googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot|MJ12bot|NHN|Twiceler|ezooms|feedly|bot|spider|google|baidu|tencent"){ set $isUser false; } if ($isUser = true){ access_ ... read more