免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4926 | 回复: 7
打印 上一主题 下一主题

【转】php计数器 (绝对防灌水) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-27 18:10 |只看该作者 |倒序浏览
本帖最后由 lesson001 于 2011-01-27 18:11 编辑

php计数器 (绝对防灌水)
<?php
session_start();
//数据库信息
$host='localhost';
$user='root';
$pass='111111';
$db='test';
$table='ipcount';
//连接数据库
[email=$link=@mysql_connect($host,$user,$pass]$link=@mysql_connect($host,$user,$pass[/email]) or die('不能连接数据库');
@mysql_select_db($db) or die('不能选择数据库');
$ip=$_SERVER['REMOTE_ADDR'];
if(!isset($_SESSION['logoid']))
{
$_SESSION['logoid']=$ip;
//把信息写进数据库
$sql="insert into $table values (null,'$ip',now())";
mysql_query($sql) or die(mysql_error());
}
//从数据库检索总记录数目,也就是访问计数
$sql="select count(*) from $table";
$rs=mysql_query($sql);
$arr=mysql_fetch_array($rs);
$count=$arr[0];
//关闭连接
mysql_close($link);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数据库访问计算器</title>
<style type="text/css">
<!--
.redfont {
color: #F00;
}
-->
</style>
</head>
<body>
访问计数器:<strong class="redfont"><?php echo $count; ?></strong><br />
访问计数器:<strong class="redfont"><?php echo sprintf('%08s',$count); ?></strong><br />
访问计数器:<strong class="redfont">
<?php
$str=sprintf('%08s',$count);
for($i=0;$i<strlen($str);$i++)
{
$src='images/'.$str[$i].'.gif';
echo  '<img src="'.$src.'">';
}
?>
</strong>
</body>
</html>

计数器。rar

游客,如果您要查看本帖隐藏内容请回复

论坛徽章:
0
2 [报告]
发表于 2011-07-11 16:37 |只看该作者
:wink:看看啊

论坛徽章:
0
3 [报告]
发表于 2011-07-14 19:45 |只看该作者
回复 1# lesson001
学习一下

论坛徽章:
0
4 [报告]
发表于 2011-07-15 09:13 |只看该作者
隐藏贴

论坛徽章:
0
5 [报告]
发表于 2012-08-17 12:36 |只看该作者
謝謝大大無私的分享 幫了小弟不小忙

论坛徽章:
0
6 [报告]
发表于 2012-08-20 15:35 |只看该作者

论坛徽章:
0
7 [报告]
发表于 2012-08-21 20:18 |只看该作者
本帖最后由 fiendcly 于 2012-08-21 20:23 编辑

呵呵 ~~~ 看看就好......別拿來用.

1. 這個計數器 寫進和COUNT 花費的 DB 資源 在 USER 的來源數及操作數到達一家數量時 DB 的計算會非常可怕 , 如果剛好人數很多時, 伺服器必當.

( 因為這個資料庫是採用 INSERT 和 COUNT << RECORD 數 成長到一定的量時 去 COUNT 非常消費 DB 的資源. )

2. 如果 是我觀查到這種程式 , 寫支 DOS ... 不需要走進 SESSSION 判斷的邏輯 , 就可以先把 DB 的  connect 佔滿 直接阻斷DB .

3. REMOTE_ADDR 在 HEADER 裡 是 AP 層的 HEADER 帶進來的 , 也就是說它不是 LAYER 3 層的 IP , 是可以假冒的.
    ( 也就是說我只要 將 CLIENT 端 HEADER 裡的 IP 改掉 , 直接 寫支程式 就可以灌水了 , 做投票器也不是好方案 )

(绝对防灌水) <<< 給你一個 X  ^^


论坛徽章:
0
8 [报告]
发表于 2012-08-22 09:33 |只看该作者
这个格式,这个缩进,没法看啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP