浏览模式: 标准 | 列表 全部文章

解决wget操作Cannot write to和filename too lon...

在Linux的系统中,有时候需要wget下载一个文件,而下载地址中的文件名却非常长,导致下载失败,提示:Cannot write to和filename too long

解决这个问题只需要把下载的文件输出为一个固定的文件名,比如:out.zip

wget -c -O out.zip "http://blog.is36.com/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.zip"

Tags: wget

dedecms转iwms操作过程

dedecms是一款基于php+mysql的国产cms系统,iwms是一款基于asp.net+access/mssql的国产cms。前者漏洞百出,后者比较适合企事业单位发布内容,已知漏洞极少。

一朋友网站构建于dedecms之上,某次检查时候发现后门无数,垃圾文件达到上万个。修补dedecms的漏洞还不如直接把数据转到另外一款cms系统——iwms系统。

懒人先搜索有没有直接转换的工具,发现没有。在这样的前提下,只能手工进行转换了。

iwms系统是可以在后台配置好参数直接采集access或者mssql数据库的,而dedecms的数据库是mysql,为了方便操作,得想办法把它转换到access。

以下开始记录手工操作步骤:

1、dede_archives表记录着文章内容页除了文章内容外的其他信息,dede_addonarticle表记录着文章内容,dede_arctype表记录着文章栏目。

2、手工摘录下dede_arctype表中文章栏目名称和栏目id。

3、在dede_archives表增加文章内容列body(类型为 mediumtext)和文章发布时间pubdate2(类型为datetime)。

4、接着通过文章id一一对应把dede_addonarticle表中的内容通过update方式存入dede_archives表中的body列中。

5、而dede_archives表中文章发布列pubdate是一个10位整数的Unix 时间戳,需要把它通过FROM_UNIXTIME函数转换为datetime类型存入到pubdate2列中。类似:update dede_archives set pubdate2=(select FROM_UNIXTIME(pubdate) from dede_archives where aid=1) where id=1;

6、完成以上5步操作已经把转换所需的基本7个信息都集合到了一个表内:文章栏目、文章标题、文章内容、文章点击数、文章发布时间、文章作者、文章来源。

7、接着借助《Convert Mysql to Access 4.0免费版》软件把数据库中的dede_archives列转换到access数据库(数据库编码选择gbk否则会出现乱码)。软件下载地址:http://www.5stardatabasesoftware.com/cn/mysqltoaccess.php

8、转换得到的mdb文件放到iwms系统网站目录下,通过“数据采集”功能下的“数据库采集”完成数据采集。

以上操作步骤供参考,其中有较多细节懒得输入写,只是简单记录方便下次操作方便。

Tags: dedecms, iwms, mysql, access

修改CentOS系统的镜像mirrors为网易镜像地址

某些国内centos系统在进行yum操作时会从奇怪的镜像地址获取包,速度很慢,这里修改CentOS系统的镜像mirrors为网易镜像地址。

修改说明见:http://mirrors.163.com/.help/centos.html

0、查看你的CentOS系统是5还是6

cat /etc/issue.net

1、先备份系统默认的CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载网易repo文件

  • CentOS5:wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

3、把repo文件移到/etc/yum.repos.d/目录下

  • CentOS5:mv CentOS5-Base-163.repo CentOS-Base.repo && mv CentOS-Base.repo /etc/yum.repos.d/
  • CentOS6:mv CentOS6-Base-163.repo CentOS-Base.repo && mv CentOS-Base.repo /etc/yum.repos.d/

4、运行yum makecache生成缓存

再次感受下速度是不是提升了。

Tags: centos, yum, mirrors, 163

局域网中共享MyEnTunnel的ssh代理

通过MyEntunnelssh代理可以很方便实现socks5代理功能,而如果在一个局域网中要公用这个ssh代理,那么可以通过共享实现。

  1. 按照正常操作打开myentunnel,在里面配置帐号、密码、端口(假设为9050)等之后,保存一下后关闭软件。
  2. 打开myentunnel目录下的myentunnel.ini,把里面的SOCKSPort后的9050端口改成:0.0.0.0:9050,也就是在原先的端口前加上的ip和英文冒号。保存后退出。
  3. 重新打开myentunnel并连接成功后,本机的socks5代理便可以供给局域网其他电脑使用了。

Tags: ssh, tunnel, myentunnel, 共享

最简单的提取PPT文件中flash文件的方法

因为某个需求,需要把一个ppt文件中的flash文件提取出来,网上大多数是用UltraEdit提取不够简单。

今天分享一个最简单的提取PPT文件中flash文件的方法——SWFRipper(powerpoint 文件 Flash 提取器)。

下载SWFRipper:swfripper.exe

下载Adobe Flash Player 9.0(播放swf格式的flash文件):flash播放器.exe


SWFRipper使用说明

本程序用于从PowerPoint文件(PPT)提取Flash文件。部分PPT文件内含Flash文件片,但是无法直接将这些Flash文件提取出来,本程序可以将这些PPT文件中内含的Flash文件提取到硬盘上独立保存。

有以下两种提取方式,其共同要执行的步骤如下:

打开含Flash文件的PPT文件,选择其中的Flash元素,用右键菜单复制(CTRL+C),然后到任意目录下,用右键菜单粘贴(CTRL+V),此时会生成类似片段*.shs的文件。

然后使用一下两种提取方式

1.单个提取方式: 首先设置好监视目录(可用浏览按钮),点开始监视按钮,然后CTRL+V时将片段文件粘贴到这个目录下,Flash文件会自动提取出来(根据询问提取文件命名框是否选择决定是否会提示你保存文件名,如果未选中则自动使用文件名前缀来计数命名)

2.批量提取方式:直接点批量提取按钮,然后选择要提取的多个片段文件,随后所有Flash文件将被提取出来(批量提取只能使用自动命名方式)

注意:

程序第一次启动会显示关于对话框,并要求设置,一旦监视目录设置正确(即存在该目录),以后启动时将自动缩至托盘并自动开始监视

只有点监视按钮后,目录才被监视,一旦在托盘区点击后恢复出界面,则监视过程暂停,直到再次点监视按钮

如果在监视过程中,向被监视目录同时复制多个片段文件,而同时处于询问方式命名的话,这些文件的提取将依次询问你文件命名,这个过程不能暂停,所以建议不要使用,需要批量提取请使用批量方式或不要询问命名。

重要:

处于不询问用户系统自动命名方式时,如果提取出的文件命名正好与存在的文件相同时将直接覆盖,不会提示,所以建议提取出的文件立刻移动到其他地方或改名成特殊的文件名,以免被覆盖!

JDNX@DRL 2006

Tags: swfripper, ppt, powerpoint, flash

IWMS系统之Unable to load DLL 'rasapi32.dll'...

有个基于iwms系统的网站,某天登录后台提示错误信息如下:

  • Unable to load DLL 'rasapi32.dll': 动态链接库(DLL)初始化例程失败。

解决方法:

修改web.config文件中的<configuration>……</configuration>之间添加如下代码

添加到</system.web>之后即可

  • <system.net>
  •     <defaultProxy>
  •         <proxy usesystemdefault="False" />
  •     </defaultProxy>
  • </system.net>

 

Tags: iwms, rasapi32.dll

升级nginx应对nginx的URI处理安全限制绕过漏洞安全漏洞(CVE-201...

11月20日,nginx官方更新邮件列表,对外通报Nginx 0.8.41 - 1.5.6 版本存在两类高危漏洞: 

  1. 通过Nginx规则限制后台地址访问IP、数据库等敏感地址访问的网站如果使用受影响版本,可能会造成限制失效。
  2. 网站存在上传功能,攻击者可以上传存在恶意代码的图片、txt、html文件即可向网站植入后门。 

bug的中文译文如下:

Nginx 的安全限制可能会被某些请求给忽略,(cve-2013-4547)。

当我们通过例如下列方式进行 URL 访问限制的时候,如果攻击者使用一些没经过转义的空格字符(无效的 HTTP 协议,但从 Nginx 0.8.41 开始因为考虑兼容性的问题予以支持)那么这个限制可能无效:

location /protected/ {

  deny all;

}

当请求的是 "/foo /../protected/file" 这样的 URL (静态文件,但 foo 后面有一个空格结尾) 或如下的配置:

location ~ \.php$ {

  fastcgi_pass ...

  }

当我们请求 "/file \0.php" 时就会绕过限制。

该问题影响 nginx 0.8.41 - 1.5.6,该问题已经在 Nginx 1.5.7 和 1.4.4 版本中修复。

补丁程序在:http://nginx.org/download/patch.2013.space.txt 

针对以上漏洞信息,附上3种解决方案:

1、升级nginx,如果使用的是lnmp一键安装包则可以非常方便升级:

  • wget soft.vpser.net/lnmp/upgrade_nginx.sh
  • sh upgrade_nginx.sh

然后输入1.4.4版本号后回车等待升级完成即可。

注:不建议升级到目前nginx官方的1.5.7测试版(mainline version),1.4.4为稳定版(stable version),legacy versions为历史稳定版。 

2、临时解决方案 

if ($request_uri ~ " ") {

  return 444;

} 

3、使用百度加速乐(呵呵)

Tags: nginx, bug, cve-2013-4547, mainline version, stable version, legacy versions

CentOS ping: unknown host 解决方法

先检查/etc/sysconfig/network-scripts/ifcfg-eth0配置文件是否正确设置:

  • 参考http://blog.is36.com/add_ip_to_centos_linux_vps/

然后再检查nameserver是否正确设置,#cat /etc/resolv.conf 

  • nameserver 114.114.114.114
  • nameserver 8.8.4.4

继续检查网关与路由表是否正常:# netstat -rn 

  • 若不正常则添加则增加网关(临时,重启后失效):# route add default gw 10.245.75.1
  • 修改/etc/rc.local文件,添加上面这条命令后保存,然后重启网卡或机器后永久生效

这3步操作完成,问题应该解决了。

Tags: centos, ping, unkown host