Stránka 1 z 1

Volifier php help

Napsal: 18 pro 2014, 00:48
od LYLJA
Ahoj,
Muže te poradit jak do tohle codu napíšu čas aby mohli hráči hlasovat co 2 hodiny
Spoiler: zobrazit
<?php
$votifier = new MinecraftVotifier('volifier_kay', 'ip', 'port', 'servise');
$votifier->sendVote($_GET['vote']);

class MinecraftVotifier {
const VOTE_FORMAT = "VOTE\n%s\n%s\n%s\n%d\n";
const PUBLIC_KEY_FORMAT = "-----BEGIN PUBLIC KEY-----\n%s\n-----END PUBLIC KEY-----";
private $public_key;
private $server_ip;
private $port;
private $service_name;
public function __construct($public_key = null, $server_ip = null, $port = 8192, $service_name = null) {
$this->public_key = $this->formatPublicKey($public_key);
$this->server_ip = $server_ip;
$this->port = $port;
$this->service_name = $service_name;
}
public function __get($name) {
return isset($this->$name) ? $this->$name : null;
}
public function __set($name, $value) {
if ($name == 'public_key')
$this->public_key = $this->formatPublicKey($value);
else
$this->$name = $value;
}
private function formatPublicKey($public_key) {
$public_key = wordwrap($public_key, 65, "\n", true);
$public_key = sprintf(self::PUBLIC_KEY_FORMAT, $public_key);
return $public_key;
}
public function sendVote($username) {
$address = $_SERVER['REMOTE_ADDR'];
$vote = sprintf(self::VOTE_FORMAT, $this->service_name, $username, $address, time());
openssl_public_encrypt($vote, $data, $this->public_key);
$socket = @fsockopen($this->server_ip, $this->port);
if ($socket) {
if (fwrite($socket, $data))
return true;
}
return false;
}
}
?>

Re: Volifier php help

Napsal: 18 pro 2014, 08:32
od DenOwq
Můžeš použít Sessions, pokud to píšeš s neznalostí PHP tak se to prvně nauč

Re: Volifier php help

Napsal: 18 pro 2014, 10:15
od Mysteria
Session určitě ne, to obejde jiným prohlížečem, případně jejím smazáním. Lepší je cookie, ale tu taky může smazat. IP adresa je fajn, ale tu si jde zase změnit.

Z toho vyplývá jako nejlepší způsob kontrolu IP adresy a omezit jenom na českou a slovenskou IP adresu, protože CZ/SK proxy serverů je jenom pár => používám prakticky všude a nemám s tím problém. Ale bude potřeba někam ukládat ty IP adresy s časem hlasování, takže pokud to nechce dělat prasácky do souborů, tak bude ještě potřeba databáze.

Re: Volifier php help

Napsal: 18 pro 2014, 15:52
od LYLJA
Jo díky