Volifier php help

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
LYLJA
Příspěvky: 29
Registrován: 04 úno 2014, 18:03
Reputation: 0
Kontaktovat uživatele:

Volifier php help

#1 Příspěvekod LYLJA » 18 pro 2014, 00:48

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;
}
}
?>

Uživatelský avatar
DenOwq
Příspěvky: 2703
Věk: 28
Registrován: 06 bře 2014, 21:26
Reputation: 2

Re: Volifier php help

#2 Příspěvekod DenOwq » 18 pro 2014, 08:32

Můžeš použít Sessions, pokud to píšeš s neznalostí PHP tak se to prvně nauč
Muhahha.

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: Volifier php help

#3 Příspěvekod Mysteria » 18 pro 2014, 10:15

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.

LYLJA
Příspěvky: 29
Registrován: 04 úno 2014, 18:03
Reputation: 0
Kontaktovat uživatele:

Re: Volifier php help

#4 Příspěvekod LYLJA » 18 pro 2014, 15:52

Jo díky


Zpět na „Minecraft, Tekkit“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 29 hostů