作者dinos (守护神)
看板PHP
标题Re: [闲聊] 线上使用者的作法..
时间Sun Sep 23 08:57:16 2007
※ 引述《roga (凝视)》之铭言:
: 小弟的上个问题是为了最近写的一个小玩具 ( http://stat.lab3.tw/ )
: 不过现在又遇到了瓶颈,主要问题是在於「密码重设」的部份。
: 现在的密码重设方法是读取远端特定网页,如果该网页标题有含指定的字串,
密码重设
为啥需要去抓远端网页标题?
: 就当作通过认证,并且可以修改密码。
: 我用的方法是
: $encode_string = '<title>' . $encode_string;
: ^^^^^^^ 加上这个是为了防止被乱田在网页的其他地方
: $long_string = file_get_contents(urldecode($url));
: if(eregi($match_string ,$long_string)) { 开始做事 }
: 但是这似乎有危险,我担心如果有人留下含有 $encode_string 的 comment
: 这样或许可能会出现问题,尽管机率不高。
: 想请问各位长辈,是否有更好的建议?
: 或是在比对字串的时候,有无更有效率的方法 @_@
: 还有,用 file_get_contents 操作,必须把 php.ini 里面的选项打开 (预设
: 好像就是开的),我在想有没有比较简单好用 (最好是 native) 的方法,
: 可以取得远端网页的内容,然後只取前面的一些 bytes ,这样或许可以降低
: 误判的机率 (因为 Title 都在网页最前面几行,估计 30 行以内)
function getRemoteTitle($url){
$fr=@fopen($url,"r");
if(!$fr)return false;
$content='';
while(($line=fgets($fr))!=false){
content.=trim($line);
if(preg_match('/<title\s*>[^<]*<\/title>/i',$line) ||
strstr(strtolower($line),'</title>')){
break;
}
}
fclose($fr);
preg_match('/<title\s*>[^<]*<\/title>/i',$content,$matches);
if(isset($matches[0][1]))return $matches[0][1];
else return false;
}
: 另外我想请教,在 Apache 中,
: MaxClients
: 语法:MaxClients <数量>
: 预设:MaxClients 150
: MaxClients 用於设定同时能够提供给使用者的最大服务请求数目。
: ==
: MaxClients 和 MaxKeepAliveRequests 这两者有何不同?
MaxClients
伺服器启动时要启动多少个 httpd 来等待连接
在 apache2 预设值里,每多一个大约会多使用 20~40MB
对於同时连线人数越多的站是开越多越好
MaxKeepAliveRequests
只有在 KeepAlive On 时才有效
KeepAlive 是说在一个 httpd 每处理完一个 MaxRequestsPerChild 後要不要继
续等待下一个子请求,所以 MaxKeepAliveRequests 就是指定每个 httpd 在等
待期间可以处理多少个子请求
: MaxClients 是指对 Unique IP 而言吗?
: MaxKeepAliveRequests 是同一个 IP 所能发出的 Request 吗?
: 感谢。
: ==
: 另外
: MinSpareServers 5
: -> 设定最少闲置等待服务的伺服程序数量
: MaxSpareServers 10
: -> 最大
: 这些是 fork 出来的 child 吧?
: 请问这个数字对效能有没有影响?
: 以及这个数字会不会影响到 Server 启动数量的最大数量呢?
这两个是指备用的 httpd 数量,也就是除了被用掉的以外还要开启多少个
当然一定会影响效能罗
对於载入多个 mod 的 apache httpd 而言,每要启动一个 httpd 是要花上很多
时间(约莫 3~8 seconds),所以设置一些备用的减少当使用者连结上时需要等待
httpd 启动的时间
: ==
: 以及对於 DDoS 有没有办法从 Apache 来防止..
mod_evasive
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.158.15
1F:推 roga:谢谢学长 ^^ ~因为注册的时候,只要帐号密码.其他资讯都没有 09/23 10:52
2F:→ roga:所以..才会要求填在标题..以证明网站是属於对方的~~ 09/23 10:54
3F:→ dinos:REFER 09/23 20:03
4F:推 bcse:Referer 可以变造,附带一提,Google Sitemaps 和 Yahoo! 09/23 20:50
5F:→ bcse:Explorer 是采用要求使用者新增一个 <meta/> 来辨识 09/23 20:52
6F:推 roga:楼上我知道,但是 blog 的用很难增加一个 meta tag XDDD 09/24 00:41