Jump to content

Recommended Posts

Posted

Caut de ceva vreme un script sau un code care sa interzica vizitatorilor care isi tot schimba ipul (ip dinamic) sa voteze serverul ! 

 

Multi isi schimba ipu si voteaza si tot asa si nu este corect fata de ceilalti ! Inca nu am gasit un astfel de script ! 

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted

Trebuie sa te folosesti de cookie-uri pentru asta. Odatat setat cookie-ul doar trebuie sa vezi daca vizitatoru are cookie setat sau nu.

 

Pentru a seta un cookie vezi urmator-ul link: http://www.w3schools.com/php/func_http_setcookie.asp

Ceva asemanator: http://stackoverflow.com/questions/8952402/having-trouble-adding-a-24-hour-voting-system

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

  • Moderators
Posted

Daca as avea timp, fara probleme, din pacate problema este ca nu am timp, am licenta/proiectu de sfarsit de studii de facut, am un proiect pentru firma hosting la care is, alt proiect pentru un client si 8 ore de munca zilnic la internship, deci e practic imposibil sa te ajut. Poate apuca Courage daca are si el timp.

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

Posted

Daca as avea timp, fara probleme, din pacate problema este ca nu am timp, am licenta/proiectu de sfarsit de studii de facut, am un proiect pentru firma hosting la care is, alt proiect pentru un client si 8 ore de munca zilnic la internship, deci e practic imposibil sa te ajut. Poate apuca Courage daca are si el timp.

 

Daca ti-as trimite in pm platforma mea si mi-ai pune tu scriptul si mi-ai retrimit-o ? 

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted
$dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
$timeDiff = $time - $dbTime;
if($timeDiff >= 86400){
	mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
	mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
	$result['xhr'] = 'success';
}  else { $result['xhr'] = 'voted_already';  }

Vad ca e setat sa poata vota o data la 24h. Vrei sa poata vota o singura data si atat sau o data la 24h?

Posted
$dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
$timeDiff = $time - $dbTime;
if($timeDiff >= 86400){
	mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
	mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
	$result['xhr'] = 'success';
}  else { $result['xhr'] = 'voted_already';  }

Vad ca e setat sa poata vota o data la 24h. Vrei sa poata vota o singura data si atat sau o data la 24h?

 

 

Eu vreau asa ! Deci eu votez acuma si daca imi schimb ipu sa nu ma mai lase sa votez ! ca astia fura voturile , isi tot schimba ipurile si ii lasa sa voteze in continuu ! Deci eu votez acum si sa ma mai lase dupa 24h sa votez chiar daca imi schimb ipul ! Si tot asa pentru proxy

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted

Din vote_updater.php, schimba

if (action == 'vote_server')
    {
        $sid = (int)$_POST['sid'];
        $ip = $_SERVER['REMOTE_ADDR'];
        $time = time();
        
        $dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
        $timeDiff = $time - $dbTime;
        if($timeDiff >= 86400){
            mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
            mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
            $result['xhr'] = 'success';
        }  else { $result['xhr'] = 'voted_already';  }

    }

cu

	if (action == 'vote_server')
	{
		$sid = (int)$_POST['sid'];
		$ip = $_SERVER['REMOTE_ADDR'];
		$time = time();
		
		if ( isset ( $_COOKIE["v_{$ip}"] ) && $_COOKIE["v_{$ip}"] == 1 ) // este setat cookie
		{
			$result['xhr'] = 'voted_already';
		}
		else
		{
			$dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
			$timeDiff = $time - $dbTime;
			
			if($timeDiff >= 86400)
			{
				mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
				mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
				
				setcookie("v_{$ip}", 1, $time + 86400, '/'); // setam cookie
				
				$result['xhr'] = 'success';
			}  
			else 
			{ 
				$result['xhr'] = 'voted_already';  
			}
		}
	}

Nu l-am testat, is mai incepator in php. Posteaza aici daca nu merge.

Posted
<?php
	define('action',$_POST['action']);
	$result = array(
		'xhr' => 'error'
	);
	
	include 'core/init.php';
	
	if (action == 'vote_server')
	{
		$sid = (int)$_POST['sid'];
		$ip = $_SERVER['REMOTE_ADDR'];
		$time = time();
		
		if (action == 'vote_server')
	{
		$sid = (int)$_POST['sid'];
		$ip = $_SERVER['REMOTE_ADDR'];
		$time = time();
		
		if ( isset ( $_COOKIE["v_{$ip}"] ) && $_COOKIE["v_{$ip}"] == 1 ) // este setat cookie
		{
			$result['xhr'] = 'voted_already';
		}
		else
		{
			$dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
			$timeDiff = $time - $dbTime;
			
			if($timeDiff >= 86400)
			{
				mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
				mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
				
				setcookie("v_{$ip}", 1, $time + 86400, '/'); // setam cookie
				
				$result['xhr'] = 'success';
			}  
			else 
			{ 
				$result['xhr'] = 'voted_already';  
			}
		}
	}

	}
	
	echo json_encode($result);
	
?>

e bine cum am inlocuit sau sunt paranteze in plus ?

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted

Auch.. postasem gresit. Am editat acum.

 

Asa trebuie sa arate:

<?php
	define('action',$_POST['action']);
	$result = array(
		'xhr' => 'error'
	);
	
	include 'core/init.php';
	
	if (action == 'vote_server')
	{
		$sid = (int)$_POST['sid'];
		$ip = $_SERVER['REMOTE_ADDR'];
		$time = time();
		
		if ( isset ( $_COOKIE["v_{$ip}"] ) && $_COOKIE["v_{$ip}"] == 1 ) // este setat cookie
		{
			$result['xhr'] = 'voted_already';
		}
		else
		{
			$dbTime = @mysql_result(mysql_query("SELECT `timestamp` FROM `votes` WHERE `server_id` = '$sid' AND `ip` = '$ip' ORDER BY `timestamp` DESC LIMIT 1"), 0);
			$timeDiff = $time - $dbTime;
			
			if($timeDiff >= 86400)
			{
				mysql_query("INSERT INTO `votes` (`ip`, `server_id`, `timestamp`) VALUES ('".$ip."', $sid, $time)");
				mysql_query("UPDATE `servers` SET `votes` = votes +1 WHERE `id` = $sid");
				
				setcookie("v_{$ip}", 1, $time + 86400, '/'); // setam cookie
				
				$result['xhr'] = 'success';
			}  
			else 
			{ 
				$result['xhr'] = 'voted_already';  
			}
		}
	}
	
	echo json_encode($result);
	
?>
  • Moderators
Posted

Schimba

if ( isset ( $_COOKIE["v_{$ip}"] ) && $_COOKIE["v_{$ip}"] == 1 )

cu

if ( isset ( $_COOKIE["v_{$sid}"] ) && $_COOKIE["v_{$sid}"] == 1 )

si

setcookie("v_{$ip}", 1, $time + 86400, '/');

cu

setcookie("v_{$sid}", 1, $time + 86400, '/');
  • Moderators
Posted

Fiecare browser isi salveaza cookie-urile lui, daca testezi cu Chrome, dupa schimbi IP si incerci cu Opera, va merge fara probleme, todeauna foloseste aceasi browser pentru testele astea.

 

Am intrat si eu sa votez, si intradevar cookie-ul s-a creat fara probleme:

wNLGl5q.png

 

Acum, nu stiu de unde a scos el "v_56", dar daca de fiecare data ce intru pe site am alt ID, e si normal sa nu functioneze cookie-ul. Si daca e sa folosim:

setcookie("v_{$ip}", 1, $time + 86400, '/');

Cookie-ul probabil va arata:

v_111.111.111.111

Sau fara puncte, nu stiu exact cum ar arata, dar ceva de genu. Daca schimbam IP-ul, cookie-ul instant va detecta ca nu exista sub acel nume si va trece ca si TRUE sa creeze alt cookie.

Pentru asta iti trebuie si un sistem de login pentru a salva vot-ul pentru fiecare user, dexemplu sub username-ul folosit sau ID-ul setat la fiecare user care are cont la tine. Eu alta solutie nu stiu, daca s-ar putea citi usor MAC-ul userului cu PHP ar fi usor, s-ar crea o cookie dupa MAC si gata, dar din pacate pentru asta deja trebuie si JavaScript prin mijloc.

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

Posted

Eu sincer nu am inteles nimic . Merge sistemul creat de courage acum sau nu ? Sincer nu mai gasesc nicio modalitate si vreau sa ma axez foarte mult pe acest site si chiar imi trebuia un astfel de script ca lumea sa nu se fure pentru a avea mai multe voturi .. Sa fie totul corect ..

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted

Merge sistemul creat de courage? Da.

Merge cum ar trebui sa mearga o aplicatie buna? Nu.

Din ce motiv nu merge? Pentru ca lipseste un sistem de login / register. E foarte greu sa salvezi un cookie la un vizitator daca nu are cont.

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

Posted

Cookieul ar putea sa aibe un nume fix, nush dc se genereaza random de fiecare data. Numele siteului sau ceva de genu, ca nu te intereseaza cine e. Odata ce a votat, pui o valoare acolo (poate si o data, daca vrei), dar numele sa fie fix.

 

Courage, vad ca folosesti 'sid'. Banuiesc ca asta e session ID. Din cate imi amintesc, asta e salvat ori intrun cookie, ori in parametrii de get, ori ceva de genu.. Deci poate fi schimbat usor

 

 

Oricum nu te va ajuta, pentru ca acel cookie poate fi sters. Daca utilizatorii stiu sa isi schimbe IPul, vor sti si sa stearga niste cookie-uri (sau sa intre cu incognito..). Cea mai simpla solutie (parerea mea) ar fi sa ceri un login. Poate chiar cu facebook/google+/etc. Astfel, ai 1vot/cont.

love is a verb
Love is a doing word

Posted

Cei de la o firma de boosting au avut tot un astfel de concurs , dar acolo pentru adaugarea serverului si pentru votare nu ti cerea absolut nimic si nu aveau aceasta problema !

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

Posted

Poti verifica o adresa MAC a compului, atunci cand faci postarea. Dar asta implica sa ti tu in baza de date toate adresele MAC care au votat. Plus metoda asta am impresia ca e mai grea (cred ca totusi ar merge cu JS).

 

Mai poti folosi captcha , ca sa nu ai boti. Dar utilizatorii tot vor putea vota de multe ori (totusi tine mai mult).

 

Sau ceri o adresa de email, la care trimiti un link de confirmare al votului.

 

 

 

Acel site de care zice, poate nu a avut probleme pentru ca utilizatorii nu sau pus sa faca smecherii :))

love is a verb
Love is a doing word

Posted

Inteleg . Il las asa cum mi-a dat Courage . Ideea e daca pot ca utilizatorii de pe http://www.trag.ro/castiga-boost/sa isi faca cont pe forum http://www.trag.ro/forum pentru a adauga serverul . Sa nu mai faca cont pe acel site sa faca pe forum ..

~ TRAG ROMANIA ~

--> Recrutam STAFF / SERVERE / CLANURI <---

www.trag.ro/forum

Parteneri Officiali

Gazduire Jocuri : www.sase6.ro

Boost CS1.6 : www.csboost.net

Download CS1.6 : www.xdrpciv.ro

  • Moderators
Posted

Courage, vad ca folosesti 'sid'. Banuiesc ca asta e session ID. Din cate imi amintesc, asta e salvat ori intrun cookie, ori in parametrii de get, ori ceva de genu.. Deci poate fi schimbat usor.

 

sid e id-ul serverului

$sid = (int)$_POST['sid'];

Daca $_COOKIE['s_56'] = 1 inseamna ca a votat deja serverul nr. 56. Am zis sa pun restrictie in parte la fiecare server, nu sa poata vota un singur server la 24h.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.