[Release] Vote Лента

Mortred

Active Member
Joined
Jun 11, 2008
Messages
647
Reaction score
182
това е лента, която се показва над останалия текст в сайта приканваща потребителя да гласува за вашият сайт.При гласуване ip адреса на потребителя се записва в базата данни и 24 часа или колкото сте посочили в конфигурационият файл няма да му се появява

Слагате тоя код в Query Analyzer
Code:
CREATE TABLE [bgtop] (
[ip] [varchar] (33) default NULL,
[ctime] [varchar] (33) default NULL
)
GO

conf.php
Code:
<?
$server = "IP";
$dbuser = "SQL User";
$dbpass = "SQL PASS";
$dbname = "vote";
$dbtable = "bgtop";
$conn=mssql_connect('$server','$dbuser','$dbpass'); 
$selected=mssql_select_db('MuOnline', $conn); 
$ip = $_SERVER["REMOTE_ADDR"];
$link = "http://bgtop.net/in.php/123456789"; // тук посочи твоя линк.
$time = time();
$vtime = "86400"; // това е времето в секунди, за което ще може да се гласува. в случая е 24 часа.
$dtime = "345600"; // времето, след което ще се изтриват ненужните записи. в случая е 4 дни(72 часа)
echo '<a href="vote.php"><div style="width: 100%; height: 22px; position: absolute; top: 0px; left: 0px; z-index: 100; background-color: white; text-align: center; font-size: 15px; color: red;"> Натисни тук за да гласуваш за сайта :)</div></a>';
?>

index.php
Code:
<?
include("conf.php");
$sql = mssql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mssql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc < $time) { show(); }
}
else { show(); }
?>

vote.php
Code:
<?
ob_start();
include("conf.php");
$sql = mssql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mssql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mssql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
$sql = mssql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>
dell.php
Code:
<?
include("conf.php");
$calc = $time - $dtime;
$total = mssql_result(mssql_query("SELECT COUNT(ip) FROM $dbtable WHERE ctime < \"$calc\""), 0);
$i = 0;
while($i < $total) {
$sql = mssql_query("DELETE from $dbtable WHERE ctime < \"$calc\"");
$i++;
}
echo "Ненужните записи са изтрити успешно!";
?>
От време на време стартирайте del.php, което ще изтрие ненужните записи в базата данни.

DEMO


Credits:
-devent
-Mortred (edit)

Thanks to newguy for help !!
 
Last edited:
мерси мн точно тфа ми тряяше :)
 
Слагате тоя код в Query Analyzer
Хммм помисли пак. :)

Ако си поиграеш малко да смениш mysql заявките с mssql и създадеш таблица в mssqla.
 
браво за релийза но се пак искам видя снимка (демо) ще почакам
 
Хммм помисли пак. :)

Ако си поиграеш малко да смениш mysql заявките с mssql и създадеш таблица в mssqla.

new корегирай малко кода :Д
 
Той и този си бачка просто направете връзка с базата данни на phpmyadmina.
 
хммм помисли пак. :)

ако си поиграеш малко да смениш mysql заявките с mssql и създадеш таблица в mssqla.

мда сега ще се помуча да го оправя..

ето това ли трябва да се получи (think)

Code:
CREATE TABLE [bgtop] (
    [ip] [varchar] (33) default NULL,
    [ctime] [varchar] (33) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
GO
 
Last edited:
CREATE TABLE [bgtop] (
[ip] [varchar] (33) default NULL,
[ctime] [varchar] (33) default NULL
)
GO

Тука език не ти трябва.

Смени и всички mysql заявки с mssql и готово.
 
  • Like
Reactions: Mortred
имам 1 проблем направих го с mssql ама нали цъкнах за vote и ся ме пренасочва кам bgtop
 
нали това му е работата? :)
 
не смисал не мога да си влезна в сайта постоянно ме пренасочва там
 
само не виждам защо е нужно и в config да се слага. Аз не бих ползвал понеже съм казал "в конфиг не се слагат работи ако искаш да имаш сървър" Освен допалнителни защити :)

Хората бягат да правят повече начини за свързване към ДБ вие добавяте :Д:Д
 
Last edited:
  • Like
Reactions: Security
First post Updated





само не виждам защо е нужно и в config да се слага. Аз не бих ползвал понеже съм казал "в конфиг не се слагат работи ако искаш да имаш сървър" Освен допалнителни защити :)

Хората бягат да правят повече начини за свързване към ДБ вие добавяте :Д:Д


Code:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = date("l dS of F Y h:i:s A");
$script = $_SERVER[PATH_TRANSLATED];
$fp = fopen ("D:/MuServer/[WEB]SQL_Injection.txt", "a+");

$sql_inject_1 = array(";","'","%",'"'); #Whoth need replace
$sql_inject_2 = array("", "","","&quot;"); #To wont replace
$GET_KEY = array_keys($_GET); #array keys from $_GET
$POST_KEY = array_keys($_POST); #array keys from $_POST
$COOKIE_KEY = array_keys($_COOKIE); #array keys from $_COOKIE
/*begin clear $_GET */
for($i=0;$i<count($GET_KEY);$i++)
{
$real_get[$i] = $_GET[$GET_KEY[$i]];
$_GET[$GET_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_GET[$GET_KEY[$i]]));
  if($real_get[$i] != $_GET[$GET_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: GET\r\n");
  fwrite ($fp, "Value: $real_get[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}
/*end clear $_GET */
/*begin clear $_POST */
for($i=0;$i<count($POST_KEY);$i++)
{
$real_post[$i] = $_POST[$POST_KEY[$i]];
$_POST[$POST_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_POST[$POST_KEY[$i]]));
  if($real_post[$i] != $_POST[$POST_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: POST\r\n");
  fwrite ($fp, "Value: $real_post[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}
/*end clear $_POST */
/*begin clear $_COOKIE */
for($i=0;$i<count($COOKIE_KEY);$i++)
{
$real_cookie[$i] = $_COOKIE[$COOKIE_KEY[$i]];
$_COOKIE[$COOKIE_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_COOKIE[$COOKIE_KEY[$i]]));
  if($real_cookie[$i] != $_COOKIE[$COOKIE_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: COOKIE\r\n");
  fwrite ($fp, "Value: $real_cookie[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}

/*end clear $_COOKIE */
fclose ($fp);
?>
Надявам се ако сложат това в conf.php няма да имат проблеми (think)
 
Last edited:
first post updated





надявам се ако сложат това в conf.php няма да имат проблеми (think)

и аз се надявам ама не съм сигурен :) аз ползвам подобен код
 
само не виждам защо е нужно и в config да се слага. Аз не бих ползвал понеже съм казал "в конфиг не се слагат работи ако искаш да имаш сървър" Освен допалнителни защити :)

Хората бягат да правят повече начини за свързване към ДБ вие добавяте :Д:Д

1.както обичам да казвам "аз не съм хората"
2.Ако не в конфига то къде да им зададеш стойности
3.демо офф
4.ще има бъг при повече записи
5.делл има ненужно query

The End
 
като гласувам лентата не изчезва.