 |
|
|  |
ȨÆäÀÌÁö µ¿½ÃÁ¢¼ÓÀÚ¼ö ±¸ÇöÀ» À§ÇÑ PHP ¼Ò½º ÄÚµå |
|
|
 |
13³â Àü |
³» ȨÆäÀÌÁöÀÇ µ¿½Ã Á¢¼ÓÀÚ¼ö´Â ¸î¸íÀ̳ª µÉÁö ±Ã±ÝÇÒ ¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ·± ÇÊ¿ä·Î µ¿½Ã Á¢¼ÓÀÚ¼ö¸¦ ¾Ë·ÁÁÖ´Â À§Á¬µµ ÀÖ°í Á¦ ºí·Î±×¿¡¼µµ Ç÷¡½Ã À§Á¬À¸·Î µ¿½Ã Á¢¼ÓÀÚ¼ö¸¦ ¾Ë·ÁÁÖ´Â À§Á¬À» Á¦°øÇÏ°í Àֱ⵵ ÇÕ´Ï´Ù. ±×·¯³ª Á÷Á¢ ¸¸µé¾î¼ µ¿½ÃÁ¢¼ÓÀÚ¸¦ ¾Ë·ÁÁÖ´Â °ÍÀÌ Á»´õ ¸Å·ÂÀûÀ̶ó°í »ý°¢ÇÏ´Â ºÐµéÀÌ ÀÖ´Ù¸é ¾Æ·¡ ¼Ò½º Äڵ带 Âü°í Çϼ¼¿ä.^^
À¥¼ºñ½ºÀÇ Æ¯¼º»ó ¿Ïº®ÇÑ µ¿½ÃÁ¢¼ÓÀÚ¸¦ ¾Ë¾Æ ³¾ ¼ö ¾øÀ¸¹Ç·Î ¾à°£ÀÇ Æí¹ýÀÌ ÇÊ¿äÇÕ´Ï´Ù. À¥¼ºñ½º´Â ¿äûÇÑ À¥ÆäÀÌÁö¸¦ ³»º¸³»ÁÖ°í Á¢¼ÓÀ» ²÷À¸¹Ç·Î °°Àº »ç¿ëÀÚ¶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â ¼¼¼Ç(session)À» ¹ßÇàÇÕ´Ï´Ù. ¼¼¼ÇÀÌ °°À¸¸é °°Àº »ç¿ëÀÚ¶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼¼¼ÇÀ» ±¸ºÐÇÏ´Â ID ¿Í Ä«¿îÆ® ÇÏ°í ÀÖ´Â ÆäÀÌÁö(page) URL ±×¸®°í ½Ã°£(ctime)À» ±â·ÏÇÏ°í ÇöÀç ½Ã°£À» ±âÁØÀ¸·Î Àû´çÇÑ ½Ã°£(30ÃÊ ~ 60ÃÊ) À̳»¿¡ ÀÖ´Â ±â·Ï¸¸ ³²±â°í »èÁ¦ ÇÕ´Ï´Ù. ±×·¯¸é ³²¾Æ ÀÖ´Â ·¹ÄÚµåÀÇ °¹¼ö°¡ µ¿½Ã Á¢¼ÓÀÚ¼ö°¡ µË´Ï´Ù. ÀÌ·± ÀÛ¾÷À» Çϱâ À§ÇØ µ¥ÀÌŸº£À̽º¿¡ ¾Æ·¡¿Í °°Àº Å×À̺íÀ» ¸¸µé°í ¼¼¼Ç ID(session)´Â ÁÖÅ°·Î ½Ã°£(ctime)À» À妽º·Î ¸¸µì´Ï´Ù.
CREATE TABLE abc_siteon (
session varchar(64) NOT NULL default '',
page varchar(255) default '',
ctime datetime default NULL,
PRIMARY KEY (session),
KEY ctime (ctime)
)
±×¸®°í ¾Æ·¡¿Í °°Àº ÆäÀÌÁö(siteon_counter.php)¸¦ ¸¸µé°í ¿øÇϴ ȨÆäÀÌÁö¿¡ º¸ÀÌÁö ¾Ê´Â À̹ÌÁö·Î Ãâ·ÂÇÕ´Ï´Ù. ¶Ç´Â ÇØ´ç ȨÆäÀÌÁöÀÇ ·Î°í(images/siteon.gif)¸¦ Ãâ·ÂÇϰųª GD ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ºÐµéÀº ¾Æ·¡ ¼Ò½º ¸¶Áö¸· ¶óÀο¡ À̹ÌÁö Ãâ·Â ´ë½Å ·¹ÄÚµåÀÇ °¹¼ö¸¦ ¼ýÀÚ À̹ÌÁö·Î Ãâ·ÂÇØÁÖ´Â Äڵ带 ÀÔ·ÂÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
<?
session_start();
$connect = @mysql_connect("localhost", "user", "password") or die("");
@mysql_select_db("database") or die("");
@mysql_query("set names utf8");
//mysql_query("set names latin1");
//mysql_query("set names euckr");
$table_name = 'abc_siteon';
$session_id = session_id();
$page = $_SERVER['HTTP_REFERER'];
if (strlen($page)<1) $page="direct";
$query = "insert into $table_name set session='$session_id'";
@mysql_query($query);
$query = "update $table_name set page='$page', ctime=now() where session='$session_id'";
@mysql_query($query);
$query = "delete from $table_name where ctime < DATE_SUB(NOW(), INTERVAL 60 SECOND)";
@mysql_query($query);
@readfile("images/siteon.gif");
?>
<img src="/siteon_counter.php" width="1" height="1">
¾Æ·¡ÀÇ ¼Ò½º ÄÚµå(siteon.php)¸¦ ÀÌ¿ëÇØ ³ëÃâÇÏ°í ½ÍÀº ȨÆäÀÌÁöÀÇ Àû´çÇÑ À§Ä¡¿¡ µ¿½Ã Á¢¼ÓÀÚ¼ö¸¦ Ç¥½ÃÇØÁÖ¸é µ¿Á¢ÀÚ ±¸ÇöÀÌ ¿Ï·áµË´Ï´Ù.
<?
$connect = @mysql_connect("localhost", "user", "password") or die("");
@mysql_select_db("database") or die("");
@mysql_query("set names utf8");
$table_name = 'abc_siteon';
$query = "select count(*) total from $table_name";
$result = mysql_query($query);
$total = 0;
if ($result) {
$row = mysql_fetch_row($result);
if ($row) {
$total = intval($row[0]);
}
}
echo "µ¿Á¢ ".$total."¸í";
?>
°ü¸®ÀÚ ÆäÀÌÁö¿¡ ÇöÀç ·¹ÄÚµå ÇöȲÀ» È®ÀÎÇÒ ¼ö ÀÖ´Â ÆäÀÌÁö¸¦ ¸¸µé°í ÆäÀÌÁöº° µ¿Á¢ÀÚ¼ö¸¦ È®ÀÎÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °Íµµ À¯¿ëÇÕ´Ï´Ù. ±×¸®°í ¸®´ª½º/À¯´Ð½º¿ë ½ºÄ³Áì·¯ÀÎ Å©·Ð(cron)À» ÀÌ¿ëÇؼ 1ºÐ¸¶´Ù µ¿Á¢ÀÚ¼ö¸¦ ±â·ÏÇÏ°í À̸¦ ±×·¡ÇÁÈ Çϸé ȨÆäÀÌÁö Æ®·¡ÇÈÀ» º¸±âÁÁ°Ô ÆľÇÇÒ ¼ö ÀÖ´Â À¯¿ëÇÑ È¨ÆäÀÌÁö °ü¸® µµ±¸°¡ µË´Ï´Ù. PHP ÃʱÞÀÚµµ ÆľÇÇÒ ¼ö ÀÖ´Â ¼öÁØÀ¸·Î ¼Ò½º Äڵ尡 ÀÛ¼ºµÇ¾úÀ¸¹Ç·Î Â÷±Ù Â÷±Ù ¼Ò½º Äڵ带 »ìÆ캸½Ã¸é ÀÌÇØ°¡ µÉ °ÍÀ̶ó »ý°¢ÇÕ´Ï´Ù.
|
|
̵̧ : 645 |
̵̧
¸ñ·Ï
|
|
|  |
|