Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Apsauga nuo dvigubu narių

Parašė kiskiss· 2008 Sau. 12 14:01:29
#1

Neturėdamas ka veikti paredagavau register.php failiuka ir dabar narys užsiregistravęs 1 kartą, negalės registruotis 2 kartą iš to pačio IP adreso. Apsisaugosite nuo botu :)
Failą prisegu

Parašė mXt· 2008 Sau. 12 14:01:29
#2

Beprasmiska. Yra proxy juk.

Parašė kiskiss· 2008 Sau. 12 14:01:04
#3

Yra, bet tūpas žmogus nelabai ir suras veikianti proxy, beto galbūt padės apsisaugoti nuo masiško registravimo, na nereikia norėti, kad būtu idealus, čia paprastas, minimalus apsisaugojimas.

Redagavo kiskiss· 2008 Sau. 12 15:01:46

Parašė bruzgis· 2008 Sau. 12 15:01:40
#4

sekantis dalykas, o jei lanu sujungta daug namu? :D

Parašė ramon· 2008 Sau. 12 15:01:46
#5

Td visi su proxy sedes... :]

Parašė Pongis· 2008 Sau. 12 15:01:21
#6

chipass parašė:
sekantis dalykas, o jei lanu sujungta daug namu? :D

Jei sugeba naudotis vienu IP, sugebės ir vienu acc pasinaudoti.. ;D

Parašė kiskiss· 2008 Sau. 12 15:01:22
#7

chipass parašė:
sekantis dalykas, o jei lanu sujungta daug namu? :D


Laiškas adminams tada :D

Parašė sniuff· 2008 Sau. 12 15:01:32
#8

bet yra toks dalykas kad į saitą neįleistų su proxy.
tereikia ši kodą į panelę įdėti ir į tavo saitą leis tik vieną narį:
<?php

class proxyfloodcheck {

var $timeout = 600;
var $maxconnects = 200;
var $count = 0;
var $proyx_online = "proxy_connects";

function floodcheck () {
$this->timestamp = time();
$this->ip = $this->ipCheck();
$this->new_proxy();
$this->delete_proxy();
$this->check_proxy();
}

function ipCheck() {
if(getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
else(getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
return $ip;
}

function new_proxy() {
GLOBAL $ip, $path;
$path = $_SERVER['PHP_SELF'];
$ip = $this->ip;

IF(!empty($ip)) {
$insert = mysql_query("insert into $this->proyx_online(id, time, path, userip) values('', '$this->timestamp', '$path', '$this->ip')") or die("Proxy Query =".mysql_error());
}
}

function delete_proxy() {
$delete = mysql_query("delete from $this->proxy_online where $this->proxy_online.time < ($this->timestamp - $this->timeout)") or die("Proxy Query =".mysql_error());
}

function check_proxy() {
GLOBAL $maxconnects
$count = mysql_num_rows(mysql_query("select distinct $this->proxy_online.userip from $this->proxy_online"));

IF($count > $maxconnects) {
echo "Boo Badass $maxconnects You're pretty smart.<br>";
echo "<br>You're not allowed to use proxies, Please disable your proxies and revisit, Thanks $maxconnects Number of Online proxies= <br>";
exit;
}
}

}

floodcheck();

?>




o gal ir į subheaderį nžn iš modų siato paėmiau

Redagavo sniuff· 2008 Sau. 12 15:01:52

Parašė MAnjack· 2008 Sau. 12 15:01:37
#9

Šiaip su tokia apsauga dar reiktų redaguot ir prisijungimo sistemą, nes šitą apeit lengva.;)

Parašė ozzWANTED· 2008 Sau. 12 15:01:37
#10

aš kur kas gudriau bent jau man pasidaręs esu. O tokia sistema tai yra nesamone - kartais visas daugiaaukštis pajungtas ant vienos 100Mbps pvz. skynet linijos, tai pagal tave iš 1000 žmonių tik 1 galės prisiregistuoti. Arba visi brolių ir šeimos žmonių atvejai...

Parašė kiskiss· 2008 Sau. 12 16:01:27
#11

Šia systema reikia dar tobulinti ir tobulinti, ir nesakau kad čia viskas idealu, kaip patobulinti įdėju yra daug tačiau ne visos igivendinamos, kada nors ant šio dalyko rimčiau prieisiu ir stengsiuos tobulinti :)

Parašė ___· 2008 Sau. 12 16:01:27
#12

Tai manau galima padaryti tokį kodą, tiktai kad leistų iš vieno MAC adreso :D tada daug geriau būtų

Parašė mXt· 2008 Sau. 12 16:01:33
#13

geriausia padarom, kad isvis nieko neleistu :D

Parašė kiskiss· 2008 Sau. 12 16:01:56
#14

Mys3lf parašė:
Tai manau galima padaryti tokį kodą, tiktai kad leistų iš vieno MAC adreso :D tada daug geriau būtų


Bet kad MAC adresa gauti yra labai sunku, nesant LAN'e :)

Parašė ozzWANTED· 2008 Sau. 12 16:01:59
#15

Geriausia apsauga yra sukurti ".htaccess" failą pagrindinėje direktorijoje ir į ją įrašyti:
order deny,allow
deny from all

:D

Parašė ozzWANTED· 2008 Sau. 12 16:01:37
#16

Nesunku gauti mac adresą, bet kuris gali turėti jei turi VPS priėjimą ar superroot teises.