Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1649385
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: IT职场

2012-05-21 13:35:50

  前几天上Linux,课余的时候同学打来电话,说他们公司的网站每天总是在早上8点到下午6点很卡,用的织梦的系统,她怀疑被攻击了,我也觉得像,然后问我怎么办。OMG,我也是初学者啊,她说你可是在兄弟连啊,我当时觉得责任大了许多,不能给兄弟连丢人,然后就去网上查了一查,她还说了一个问题,就是在禁用了fsockopen这个函数的时候一切正常,但是网站的短信功能不能用了,有了这个线索我想就会好找很多了吧,先是查了手册,发现这个函数的介绍居然没有中文翻译,之后上网看了fsockopen这个函数的简介,也发现资料不是很多,都是大同小异,总结如下:
fsockopen:打开网络的Socket连接。
语法:int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
返回值:整数
函数类型:网络系统函数
目前这个函数提供二个 Socket 资料流界面,分别为 Internet 用的 AF_INET 及 Unix 用的 AF_UNIX。当在 Internet 情形下使用时,参数 hostname 及 port 分别代表网址及埠号。在 UNIX 情形可做 IPC,hostname 参数表示到 socket 的路径,port 配置为 0。可省略的 timeout 选项表示多久没有连上就中断。在使用本函数之后会返回文件指针,供文件函数使用,包括 fgets()、fgetss()、fputs()、fclose() 与 feof()。参数 errno 及 errstr 也是可省略的,主要当做错误处理使用。使用本函数,会使用搁置模式 (blocking mode) 处理,可用 set_socket_blocking() 转换成无搁置模式。

使用范例:
本例用来模拟成 HTTP 连接。
$fp = fsockopen("php.wilson.gs", 80, &$errno, &$errstr, 10);
if(!
$fp) {
echo
"$errstr ($errno)
\n";
} else {
fputs($fp,"GET / HTTP/1.0\nHost: php.wilson.gs\n\n");
while(!
feof($fp)) {
echo
fgets($fp,128);
}
fclose($fp);
}
?>



以上内容完全看不懂,哈哈~


最后又上网查找了有没有人也遇到类似的问题,发现最近很多黑客利用fsockopen的漏洞进行PHPDDOS攻击,解决方法网上也只是那么几种,有人说在 fsockopen前加个字母p,php也能认识,黑客也无法攻击,但是我同学试了没有效果。网上一致建议关闭这个函数,可是我同学的网站关闭这个函数就不能进行短信收发了,不知道有没有什么好的方法,特开此贴求教,不知道学了两个月这种问题解决不了是不是很小白?呜呜呜……丢人啊~,我啥时候能成为高手呢?!!

原文地址:

阅读(463) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~