搜狗这个坏蛋
May 25, 2007 | 服务器配置
服务器感觉很忙的样子,但已经没什么很大流量的东西在跑了呀。
查看连接
server# netstat -an | sort -d | wc -l
2267
#netstat -na|grep 80|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -d
也没什么大不了的连接。
看apache日志 ,发现几个连接。一直访问个没完。
220.181.19.96
220.181.19.85
……
一查IP,
太狠了。google一看,受害者不少。[1] [2] [3]
是技术问题还是怎么着。派了一堆蜘蛛出来。真服了。
整个IP段deny 掉,这回清净啦!
server# netstat -an | sort -d | wc -l
287
个人感受:freebsd 和 linux 的一点区别
May 24, 2007 | 服务器配置
这一月来因为要将三四台正在使用中的服务器操作系统由windows 2003换成开源的.
然后得出以下对比.
目标:安装GD图片处理库.
freebsd 是
# cd /usr/ports/graphics/gd
#make install
然后就等着完成.
linux是
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.tar.gz
tar zxvf libiconv-1.11.tar.gz
cd libiconv-1.11
./configure –prefix=/usr/local
make install
wget http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz
tar zxvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure –prefix=/usr/local
make install
wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6
./configure –prefix=/usr/local
make install
make install-lib
wget http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.9beta9.tar.gz
tar zxvf libpng-1.2.9beta9.tar.gz
cd libpng-1.2.9beta9
./configure –prefix=/usr/local
sudo make install
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
./configure –prefix=/usr/local
make install
觉得挺无奈的,谁有更好的办法?
mysqldump 导出的sql文件导入时提示Unknown command ‘\[’.
May 24, 2007 | mysql 数据库, 服务器配置
两台linux机器的mysql配置一模一样。
#mysqldump forum>forum.sql -u root -p
导出一个2.4G大的forum.sql文件,然后试图导入内网(192.168.0.8)的另一台机器时,出现问题
#mysql forum<forum.sql -u root -p -h 192.168.0.8
Enter password:
ERROR at line 1410: Unknown command ‘\[’.
首先是怀疑有二进制,添加参数–hex-blob 再导,问题依旧。
再想也不可能是字符集什么呀 。
请教imysql,说是: 2边的max_allowed_packet设置的不一样.
明明是一样的,改大一些试试。16M改成64M,也不行。
最后拉到本机去,终于可以正常导入。
问题虽然解决,但根源是什么还是没弄懂。
哪个老师知道此问题的原因,请赐教。
最后,学到一个简单的服务器间复制库的办法。
mysqldump -hhost1 xx | mysql -hhost2
从host1导出库xx,然后写入host2
架构基于DZ或PW论坛的文件防盗链系统
May 22, 2007 | PHP开发, 服务器配置
需求:
一个技术/娱乐论坛 http://bbs.mowai.com 有大量电影和ISO文件。
文件存放于论坛目录下,结构如下:
/bbs/download/蜘蛛侠3.rm——电影和ISO文件
/bbs/index.php—————论坛首页
/bbs/…
/index.php ——————-首页
原来使用 http://bbs.mowai.com/download/蜘蛛侠3.rm 这样的链接提供用户下载文件.
但被无良的迅雷和一些网站等严重盗链.服务器带宽被耗尽, 急需解决.
1.尽量不改变原有下载路径.否则需要编辑大量主题.
2.可以设置非网站注册会员需要登录方可下载.
思路:
一.和论坛绑定,需要引入论坛文件以判断用户是否登录.
二.如果没有限制游客下载,那么需要判断HTTP_REFERER是否来自本站,以达到简单防盗功能.
三.[重点] 为了防盗,最简单的方法还是更改文件名.一个文件,一天就失效了.那盗链就变得没有意义.
开始实施:
1.
—————————————————————
新建一个文件夹 /bbs/download_file_in_here ,并在它下面建立一个乱码文件夹,如De7Tvs9K 将 /bbs/download/ 目录下的所有文件移动到/bbs/download_file_in_here/De7Tvs9K 下,
并给它绑定一个域名:http://download.mowai.com
—————————————————————
2.
—————————————————————
加一条 rewirte 到虚拟主机设置里.
<Directory “/www/bbs.mowai.com”>
<FilesMatch “^download$”>
ForceType application/x-httpd-php
</FilesMatch>
</Directory>
也可以写 .htaccess 文件来实现.目的是实现用PHP来处理download文件
—————————————————————
3.
—————————————————————
新建一个 time.txt 文件,位于 /bbs/ 目录下.内容为:De7Tvs9K 就是上面那个乱码文件夹
—————————————————————
新建一个名为 download 的php文件在 /bbs/ 目录下(注意,这个文件没有后缀名)
代码如下:
<?php
header(‘Content-type:text/html;charset=utf-8′);
define(‘CURSCRIPT’, ‘download’);
require_once ‘./include/common.inc.php’;
$down_uri = ‘http://download.mowai.com/’; //绑定的域名 以/结尾
$allow_guest_download = 1; //是否允许游客下载 1=是 0=否
$referer_verify = 1; //是否验证referer来源.在允许游客下载的情况下,是否允许非本站用户下载.
$referer_uri_list = array(‘www.phpv.net’,‘esayr.com’); //允许的referer来源网站.上一项值为1时生效.
$interval_time = 24; //间隔多少个小时,更改一次文件夹名。
$filename = ‘time.txt’; //保存文件夹路径的文本文件.if (file_exists($filename)) {
$last_m_time = filemtime($filename);
$directory_name = file_get_contents($filename);
//判断时间是否到期
if(time() - $last_m_time > $interval_tim*3600 ) {
$new_directory_name = random(12);
if (is_writable($filename)) {
if (!$handle = fopen($filename, ‘a’)) {
exit(“不能打开文件 $filename”);
}
//更改文件夹名
if (rename(“bbs/”.$directory_name, “bbs/”.$new_directory_name)) {
//将新的目录名写入到time.txt文件中。
if (fwrite($handle, $new_directory_name) === FALSE) {
//如果改文件内容失败,把文件夹名改回来
rename(“bbs/”.$new_directory_name,“bbs/”.$directory_name);
exit(“不能写入到文件 $filename”);
}
$directory_name = $new_directory_name;
} else {
exit(“文件夹改名失败”);
}
fclose($handle);
} else {
exit(“文件 $filename 不可写”);
}
}
}else{
exit(‘文件 $filename 不存在,请创建一个’); //没有time.txt文件,请创建一个。
}
/*################### 游客检查 #############*/
if(!$allow_guest_download && !$discuz_uid) {
//exit(’此操作需要登录!您尚未 <a href=”http://bbs.mowai.com/logging.php?action=login”>登录</a>’);
header(“Location: http://www.mowai.com/error/need_login.html”);
exit;
}
/*################### 来源检查 #############*/
preg_match(“/https?:\/\/([^\/]+).*/i”, $_SERVER['HTTP_REFERER'],$matchs);
if($referer_verify && !in_array($matchs[1],$referer_uri_list)) {
header(“Location: http://www.mowai.com/error/invalidreferer.html”);
//exit(’您要下载的文件位于http://bbs.mowai.com’);
}else{
if(isset($_SERVER['PATH_INFO'])){
//这里可以加一些判断文件是否存在而出现错误提示的信息。
header(“Location:{$down_uri}{$directory_name}/{$_SERVER[PATH_INFO]}”);
}
else {
header(“Location: http://www.mowai.com/error/404.html”);
}
}
?>
代码在linux+DZ5.5.0 下运行成功.
需要注意的几点
如果是*nix系统,请将time.txt的文件属性设置为777
如果要下载的文件在远程计算机,请使用PHP的FTP命令来做更名操作.
PW论坛,根据情况改改代码就行了.
抽烟的蚊子’s blog 启用新的地址.
May 6, 2007 | 杂碎琐事
原来一直在用的 blog.phpv.net 将不再更新.会做一个月转向到这边.
并启用 esayr.com 域名.
欢迎大家常常来看看.我一定贡献更多更精彩的文章.
打算加强:php/mysql/linux/html/css这类技术,分享经验.共同进步.
近日
April 29, 2007 | 影像故事, 杂碎琐事
近日
1.服务器还是折腾了我半死.今晚再搬.
2.最近常常有用“公共马甲”玩秘密大公开的游戏.还有人专门做了网站.
我想,这个在最近一段时间,将会成为一个热点. 同性恋也是
3.公安局网监处把我电话当热线打.
4.才发现PHP 程序设计,第2版已出来挺久了. 以前看陈浩他们译.感觉可能挺好看.
今天看简介.才知道是入门型. 不过有机会还是买来看看的.
5. 51到了. 老舍写了一篇叫”五月的青岛“的文章.
我看了文章,然后去帮老先生拍了几张相片,好一个图文并茂.
(图片点击看大图)
