﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-一点一滴，编程人生-随笔分类-java</title><link>http://www.blogjava.net/writegull/category/52033.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Jun 2017 12:01:41 GMT</lastBuildDate><pubDate>Wed, 28 Jun 2017 12:01:41 GMT</pubDate><ttl>60</ttl><item><title>使用atomikos连接mysql报错 Raised -5: invalid arguments were given for the XA operation 或 XAER_INVAL: Invalid arguments (or unsupported command)</title><link>http://www.blogjava.net/writegull/archive/2017/06/28/432634.html</link><dc:creator>writegull</dc:creator><author>writegull</author><pubDate>Wed, 28 Jun 2017 11:32:00 GMT</pubDate><guid>http://www.blogjava.net/writegull/archive/2017/06/28/432634.html</guid><wfw:comment>http://www.blogjava.net/writegull/comments/432634.html</wfw:comment><comments>http://www.blogjava.net/writegull/archive/2017/06/28/432634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/writegull/comments/commentRss/432634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/writegull/services/trackbacks/432634.html</trackback:ping><description><![CDATA[今天为了这个问题了忙乎了一整天，特此记录下，希望对有遇到同样问题的同学有帮助。事情的经过是这样的，原先使用atomikos一直把数据源用jndi配置到tomcat的context.xml下，一直这么用没有出现问题，配置如下<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">Resource&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="jdbc/cms"</span><span style="color: #FF0000; ">&nbsp;auth</span><span style="color: #0000FF; ">="Container"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type</span><span style="color: #0000FF; ">="com.atomikos.jdbc.AtomikosDataSourceBean"</span><span style="color: #FF0000; ">&nbsp;factory</span><span style="color: #0000FF; ">="com.atomikos.tomcat.EnhancedTomcatAtomikosBeanFactory"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uniqueResourceName</span><span style="color: #0000FF; ">="jdbc/cms"</span><span style="color: #FF0000; ">&nbsp;xaDataSourceClassName</span><span style="color: #0000FF; ">="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xaProperties.URL</span><span style="color: #0000FF; ">="xxxx"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xaProperties.user</span><span style="color: #0000FF; ">="xxxx"</span><span style="color: #FF0000; ">&nbsp;xaProperties.password</span><span style="color: #0000FF; ">="xxxx"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xaProperties.pinGlobalTxToPhysicalConnection</span><span style="color: #0000FF; ">="true"</span><span style="color: #FF0000; ">&nbsp;maxLifetime</span><span style="color: #0000FF; ">="60"</span><span style="color: #FF0000; ">&nbsp;poolSize</span><span style="color: #0000FF; ">="4"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span></div><br />最近项目要迁移到maven下，所以把context.xml的数据源配置挪到了spring.xml下，配置如下<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="myDataSource"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="com.atomikos.jdbc.AtomikosDataSourceBean"</span><span style="color: #FF0000; ">&nbsp;init-method</span><span style="color: #0000FF; ">="init"</span><span style="color: #FF0000; ">&nbsp;destroy-method</span><span style="color: #0000FF; ">="close"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="uniqueResourceName"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="masterDB"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="xaDataSourceClassName"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;SQLErrorCodes&nbsp;loaded:&nbsp;[DB2,&nbsp;Derby,&nbsp;H2,&nbsp;HSQL,&nbsp;Informix,&nbsp;MS-SQL,&nbsp;MySQL,&nbsp;Oracle,&nbsp;PostgreSQL,&nbsp;Sybase,&nbsp;Hana]&nbsp;&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="poolSize"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="0"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="minPoolSize"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="0"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="maxPoolSize"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="9"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="borrowConnectionTimeout"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="60"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="reapTimeout"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="20"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="maxIdleTime"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="60"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="maintenanceInterval"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="60"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="loginTimeout"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="60"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="xaProperties"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">props</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="url"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">xxxx</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="user"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">xxxx</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="password"</span><span style="color: #0000FF; ">&gt;xxxx</span><span style="color: #000000; "></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">props</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">bean</span><span style="color: #0000FF; ">&gt;</span></div>因为上面这个配置我是照搬网上的，所以觉得没有问题，可是项目启动后，用此数据源提交事务时确报以下错误：<br /><br /><div><div>Raised -5: invalid arguments were given for the XA operation 或 XAER_INVAL: Invalid arguments (or unsupported command)<br /><br />一开始我以为maven配置的mysql-connector-java驱动版本不对，或是atomikos版本不对，可是不管如何换版本都不行，就快要疯了的时候，我看到了原先jndi方式中有这么一行代码 <div><span style="color: red; background-color: yellow;">xaProperties.pinGlobalTxToPhysicalConnection</span><span style="color: red; background-color: yellow;">="true"<br /><span style="background-color: #000000;"><span style="background-color: #ffffff;"></span></span></span>就因为缺少上面这句话导致了问题,上网查资料，据说是mysql xa bug，有兴趣的可以看如下连接，最后配置如下：<div><a href="https://www.atomikos.com/Documentation/KnownProblems#MySQL_XA_bug">https://www.atomikos.com/Documentation/KnownProblems#MySQL_XA_bug</a></div><span style="color: red; background-color: yellow;"><span></span></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="xaProperties"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">props</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="pinGlobalTxToPhysicalConnection"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">true</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;mysql必须配置此参数，要不然无法提交事务&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="url"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">xxxx</span><span style="color: #FF0000; "></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="user"</span><span style="color: #0000FF; ">&gt;xxx</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">prop&nbsp;</span><span style="color: #FF0000; ">key</span><span style="color: #0000FF; ">="password"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">xxxx</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">prop</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">props</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp; <br /></span></div><span style="color: red; background-color: yellow;"><span><br /></span></span></div></div></div><br /><br /><img src ="http://www.blogjava.net/writegull/aggbug/432634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/writegull/" target="_blank">writegull</a> 2017-06-28 19:32 <a href="http://www.blogjava.net/writegull/archive/2017/06/28/432634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>redis未授权访问缺陷导致系统被黑</title><link>http://www.blogjava.net/writegull/archive/2015/12/15/428651.html</link><dc:creator>writegull</dc:creator><author>writegull</author><pubDate>Mon, 14 Dec 2015 17:13:00 GMT</pubDate><guid>http://www.blogjava.net/writegull/archive/2015/12/15/428651.html</guid><wfw:comment>http://www.blogjava.net/writegull/comments/428651.html</wfw:comment><comments>http://www.blogjava.net/writegull/archive/2015/12/15/428651.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/writegull/comments/commentRss/428651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/writegull/services/trackbacks/428651.html</trackback:ping><description><![CDATA[事情描述：<br />本人在阿里云上创建了一个linux服务器，跑了一个自己的测试web项目。搭建了redis。想方便测试用，就没有对redis进行任何安全防护并暴露在了公网上。期间阿里云发现了此问题，还发短信提醒我，由于最近在公司一直加班也没有时间理会，没想到就在今天真的被黑了，事后心想多亏是个测试服务器，如果是正式环境，也真危险，这个黑客也没有停下脚步，通过redis强大的能力在/root/.ssh目录下面上传了公钥，彻底攻破了服务器，免密码登录服务器，一般黑客到这步也就看看有没有兴趣的数据，这个黑客一看这就是个没有价值的测试服务器，所以心一横，在我这上面装了个DDOS攻击软件，把我的机器当起肉鸡。<br /><br />1.这就是黑完后留下的公钥/私钥，删除authorized_keys，id_rsa， id_rsa.pub这三个文件吧，除非还想让他继续黑下去。。。。<br /><img src="http://www.blogjava.net/images/blogjava_net/writegull/redis1.png" alt="" border="0" /><br /><br />2.通过redis的key *命令可以看到有个叫crackit的key。这就是黑客在入侵后留下来的，原先set的值是公钥，入侵成功之后就改成这个了，把这个key也删除掉吧。<br /><img src="http://www.blogjava.net/images/blogjava_net/writegull/redis2.png" alt="" border="0" height="216" width="675" /><br /><br />3.修改redis默认端口吧，不让黑客利用6379端口。在redis安装目录中，修改redis.config文件。修改完了别忘了重启redis服务,<div><p>#&nbsp;redis-server&nbsp;/etc/redis/redis.conf 开启</p>   <p>#&nbsp;redis-cli&nbsp;shutdown 关闭</p></div><img src="http://www.blogjava.net/images/blogjava_net/writegull/redis3.png" alt="" border="0" height="64" width="543" /><br /><br />4.重启后查看redis是否运行<br /><div>ps -x | grep redis<br /></div>5.通过指定端口访问redis。<br />redis-cli -p 6666<br /><br />6.给redis设置密码或者干脆设置成只能内网访问<br /><br />7.通过top命令发现了几个可疑的程序<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/writegull/redis4.png" height="584" width="1139" /><br /><br /><br />8.minerd这个程序是个用来挖掘莱特币的，这个黑客看来干了不少坏事啊。。我们用命令 ps -ef|grep minerd 查找一下这个进程，杀掉这个进程kill -9 18267，并且去/tmp目录删除minerd目录<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/writegull/redis5.png" height="200" width="995" /><br /><br />9.黑客在tmp目录留下了一个叫1.sh的脚本，是用来下载挖掘莱特币程序的。也把它kill掉吧。以下是脚本内容。<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/writegull/redis6.png" /><br /><br />10.通过cat /etc/passwd命令可以看到有一个叫作syss的非法用户，权限还很高，跟root一样，删掉他吧，这是黑客入侵后方便进入的。使用命令userdel -f syss 强制删除一个用户，哪怕他正在登录。<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/writegull/redis7.png" height="280" width="723" /><br /><br />11.去/mnt目录上，可以看到黑客挂载了很多程序，删除他们吧。<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/writegull/redis8.png" /><br /><br />12.通过nethogs软件可以按进程实时统计网络带宽利用率，这个用来看是否存在DDOS攻击最好不过了。<br /><br />13.暂时解决对外DDOS攻击，最快的办法就是用防火墙，这个阿里云提供的脚本帮了大忙。直接上传到服务器上，运行一下世界就清静了。下载地址：<div><a target="_blank" href="https://help.aliyun.com/knowledge_detail/5973920.html?&amp;utm_campaign=sys&amp;utm_medium=system&amp;utm_source=sys_email&amp;msctype=email&amp;mscmsgid=107915121500486146&amp;spm=5176.7618386.5.1.H8H33f">https://help.aliyun.com/knowledge_detail/5973920.html?spm=5176.7618386.5.1.H8H33f</a><br /><br />&nbsp;</div><img src ="http://www.blogjava.net/writegull/aggbug/428651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/writegull/" target="_blank">writegull</a> 2015-12-15 01:13 <a href="http://www.blogjava.net/writegull/archive/2015/12/15/428651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Removing obsolete files from server 问题 </title><link>http://www.blogjava.net/writegull/archive/2015/01/03/422014.html</link><dc:creator>writegull</dc:creator><author>writegull</author><pubDate>Sat, 03 Jan 2015 08:58:00 GMT</pubDate><guid>http://www.blogjava.net/writegull/archive/2015/01/03/422014.html</guid><wfw:comment>http://www.blogjava.net/writegull/comments/422014.html</wfw:comment><comments>http://www.blogjava.net/writegull/archive/2015/01/03/422014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/writegull/comments/commentRss/422014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/writegull/services/trackbacks/422014.html</trackback:ping><description><![CDATA[今天在修改server.xml调试程序时，遇到下面这个问题，clean，重启都不好使。<br /><br /><div>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Removing obsolete files from server..<br /> <div><wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;Could not clean server of&nbsp;obsolete files: null<br /> &nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;java.lang.NullPointerException<br /></div></div>解决方法是把.metadata\.plugins\org.eclipse.wst.server.core这个目录下面的tmp0删除掉，再clean下就可以了。可能是缓存问题。<img src ="http://www.blogjava.net/writegull/aggbug/422014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/writegull/" target="_blank">writegull</a> 2015-01-03 16:58 <a href="http://www.blogjava.net/writegull/archive/2015/01/03/422014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中split以"."分割</title><link>http://www.blogjava.net/writegull/archive/2012/06/24/381365.html</link><dc:creator>writegull</dc:creator><author>writegull</author><pubDate>Sun, 24 Jun 2012 01:27:00 GMT</pubDate><guid>http://www.blogjava.net/writegull/archive/2012/06/24/381365.html</guid><wfw:comment>http://www.blogjava.net/writegull/comments/381365.html</wfw:comment><comments>http://www.blogjava.net/writegull/archive/2012/06/24/381365.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/writegull/comments/commentRss/381365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/writegull/services/trackbacks/381365.html</trackback:ping><description><![CDATA[<span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">今天开发中使用字符串分割函数split()，发现：</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String s = "upload/20120416135915265.sql";</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(s.split("."));</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">输出的并不是想要的结果，之后输出：</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(s.split(".").length);</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">结果竟然是0！！！</span><br style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; " /><span style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">突然想到转义字符，于是：&nbsp;&nbsp;</span><div style="color: #4d4d4d; font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(s.split("\\."));<br />OK啦！！！<br />原来在java中函数split(".")必须是是split("\\.")。</div><img src ="http://www.blogjava.net/writegull/aggbug/381365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/writegull/" target="_blank">writegull</a> 2012-06-24 09:27 <a href="http://www.blogjava.net/writegull/archive/2012/06/24/381365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>