|
|
|
|||||||
| Problemy z Modami Problemy z Modyfikacjami. |
![]() |
|
|
|
Narzędzia wątku | Wygląd |
|
|
#1 |
|
User
![]() |
TbSource-1.5 - Wiecej niz jedno konto na IP !
Nieznam sie zbytnio na PHP i chcailbym sie dowiedziec jak w TbSource-1.5.0-PL_Wersja_Finalna mozna ustawic zeby mozna bylo zrobic kilka kont z 1 Ip. Chcodzi mi o to ze ktos moze miec radiopwke w ktorej jest opelo osob i tylko 1 z nic moze miec konto.
Prosze o pomoc. Skrypt chyba znajduje sie w takesignup.php Prawdopodobnie to ten sktypt : Kod:
// sprawdzanie podwójnego IP
$a = (@mysql_fetch_row(@mysql_query("select count(*) from users where ip='" . $_SERVER['REMOTE_ADDR'] . "'"))) or die(mysql_error());
if ($a[0] != 0)
bark("Twoje ip " . $_SERVER['REMOTE_ADDR'] . " zostało już wykorzystane. Pozwalamy posiadać tylko jedno konto na jedno ip.");
Jak go przerobvic by mozna bylo miec np 10 Kont z 1 IP ? |
|
|
|
|
|
#2 |
|
V.I.P
![]() |
Jeżeli chcesz grzebać w tym fragmencie kodu to wystarczy użyć mózgu i zmienić zapytanie do bazy danych żeby spawdzała nie tyle czy IP użytkownika próbującego się zarejestrować jest w bazie (a to właśnie robi) tylko ile razy się to IP powtarza. Następnie trzeba nieco inaczej zinterpretować wynik i odpowiednio zmienić warunek widoczny pod zapytaniem. Możesz też po prostu wyciąć sprawdzanie IP i po sprawie.. wystarczyłoby usunąć sprawdzanie warunku lub zmienić go na jakiś inny który zawsze zwraca co trzeba, czyli 0.
Jeśli stawiasz trackera to przydałaby się choć podstawowa znajomość php i mysql-a bo inaczej zginiesz w natłoku podobnych problemów.
__________________
__________________________________________________
|
|
|
|
|
|
#3 | |
|
User
![]() Grupa: Użytkownik
Dołączył: Dec 2006
Posty: 48
Piwa Postawione: 0
Piwa Otrzymane: 6
Siła Reputacji: 2
|
Cytat:
obawiam sie owy kod wlasnie oblicza ile razy ip wystepuje w bazie... a nie jak sugerujesz "czy IP użytkownika próbującego się zarejestrować jest w bazie" ... ale zgadzam sie z toba ze jak ktoa nie wie o co biega to nie poinien sie za to brac... pozdro p.s. if ($a[0] != 0) - jezeli ilosc wystapien w bazie nie rowna sie zero nie da sie zarejestrowac if ($a[0] > 3) - to powinno zadzialac (jadno ip moze wystapic 3 razy) zaznaczam ze nie znam reszty kodu i ta mala poprawka nie koniecznie musi zadzialac |
|
|
|
|
|
|
#4 |
|
User
![]() |
Dzieki wam wszystkim :D:D :rap:
A co do PHP i MySQL - znacie jakies dobre poradniki wydrukuje sobie i poczutam morze cos z nich zakapuje :D:D [ Dodano: 8 Marzec 07, 20:24 ] Jak ktos sie rejestruje to moze z 1 IP kilka kont byc ale wyskakuje przy rejestracju jaki blad a po 3 sek okienko ze konto zosatlo utworzone. I jest ono w nie potwierdzonych urzytkownikach. Tylko nie weim czemu emaile nie dochodza do urzytkownikow. :pudency: [ Dodano: 9 Marzec 07, 11:52 ] Przerobi mi ktos ten kod zeby mozna bylo miec kilka kont z 1 IP. I Zeby nie trzeba bylo klikac na link aktywacyjny w e-mailu. Tylko zeby mozna bylo sie odrazu zalogowac. Prosze o Pomoc. Nie jestem jeszcze doswiadczony dopiero sie ucze PHP Kod:
<?
require_once("include/bittorrent.php");
dbconn();
$res = mysql_query("SELECT COUNT(*) FROM users") or sqlerr(__FILE__, __LINE__);
$arr = mysql_fetch_row($res);
if ($arr[0] >= $maxusers)
stderr("Bł±d", "Przepraszamy aktualny limit został osi±gnięty, nieaktywne konta użytkowników s± na bież±co kasowane. Prosimy spróbować póĽniej.");
if (!mkglobal("wantusername:wantpassword:passagain:email"))
die();
function bark($msg) {
stdhead();
stdmsg("Rejestracja nieudana!", $msg);
stdfoot();
exit;
}
function validusername($username)
{
if ($username == "")
return false;
// The following characters are allowed in user names
$allowedchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for ($i = 0; $i < strlen($username); ++$i)
if (strpos($allowedchars, $username[$i]) === false)
return false;
return true;
}
function isportopen($port)
{
$sd = @fsockopen($_SERVER["REMOTE_ADDR"], $port, $errno, $errstr, 1);
if ($sd)
{
fclose($sd);
return true;
}
else
return false;
}
/*
function isproxy()
{
$ports = array(80, 88, 1075, 1080, 1180, 1182, 2282, 3128, 3332, 5490, 6588, 7033, 7441, 8000, 8080, 8085, 8090, 8095, 8100, 8105, 8110, 8888, 22788);
for ($i = 0; $i < count($ports); ++$i)
if (isportopen($ports[$i])) return true;
return false;
}
*/
if (empty($wantusername) || empty($wantpassword) || empty($email))
bark("Przed zarejestrowaniem musisz wypełnić wszystkie pola w formularzu");
if (strlen($wantusername) > 12)
bark("Sorry, username is too long (max is 12 chars)");
if ($wantpassword != $passagain)
bark("The passwords didn't match! Must've typoed. Try again.");
if (strlen($wantpassword) < 6)
bark("Przepraszamy, twoje hasło jest za krótkie. Musi mieć minimum 6 znaków.");
if (strlen($wantpassword) > 40)
bark("Przepraszamy, twoje hasło jest za długie, maxymalna liczba to 40.");
if ($wantpassword == $wantusername)
bark("Sorry, password cannot be same as user name.");
if (!validemail($email))
bark("That doesn't look like a valid email address.");
if (!validusername($wantusername))
bark("Invalid username.");
// make sure user agrees to everything...
if ($_POST["rulesverify"] != "yes" || $_POST["faqverify"] != "yes" || $_POST["ageverify"] != "yes")
stderr("Rejestracja nieudana", "Przepraszamy, Nie spełniasz wymagań by zostać członkiem naszej strony.");
// check if email addy is already in use
$a = (@mysql_fetch_row(@mysql_query("select count(*) from users where email='$email'"))) or die(mysql_error());
if ($a[0] != 0)
bark("Konto o adresie e-mail $email istnieje, proszę podaj inne.");
// sprawdzanie podwójnego IP
$a = (@mysql_fetch_row(@mysql_query("select count(*) from users where ip='" . $_SERVER['REMOTE_ADDR'] . "'"))) or die(mysql_error());
if ($a[0] >= 25)
bark("Twoje ip " . $_SERVER['REMOTE_ADDR'] . " zostało już wykorzystane. Pozwalamy posiadać tylko jedno konto na jedno ip.");
/*
// do simple proxy check
if (isproxy())
bark("You appear to be connecting through a proxy server. Your organization or ISP may use a transparent caching HTTP proxy. Please try and access the site on <a href=http://maxtorrent.yoyo.pl/signup.php>port 81</a> (this should bypass the proxy server).
Note: if you run an Internet-accessible web server on the local machine you need to shut it down until the sign-up is complete.");
*/
$secret = mksecret();
$wantpasshash = md5($wantpassword);
$editsecret = (!$arr[0]?"":mksecret());
$ret = mysql_query("INSERT INTO users (username, passhash, secret, editsecret, email, status, ". (!$arr[0]?"class, ":"") ."added) VALUES (" .
implode(",", array_map("sqlesc", array($wantusername, $wantpasshash, $secret, $editsecret, $email, (!$arr[0]?'confirmed':'pending')))).
", ". (!$arr[0]?UC_SYSOP.", ":""). "'" . get_date_time() . "')");
if (!$ret) {
if (mysql_errno() == 1062)
bark("Użytkownik o podanym nicku istnieje, musisz podać inny!");
bark("borked");
}
$id = mysql_insert_id();
//write_log("User account $id ($wantusername) was created");
$psecret = md5($editsecret);
$body = <<<EOD
Zarejestrowales sie na stronie $SITENAME i podales swój adres e-mail ($email) jako kontaktowy.
Jesli nie rejestrowales sie na tej stronie prosze zignoruj ta wiadomosc. Oto adres IP osoby która podala twój e-mail {$_SERVER["REMOTE_ADDR"]}. Prosze nie odpisywac!.
Jesli chcesz potwierdzic rejestracje na stronie, prosze kliknac na ten link:
$DEFAULTBASEURL/confirm.php?id=$id&secret=$psecret
Gdy to zrobisz, bedziesz mógl korzystac z swojego nowego konta. Jesli tego nie zrobisz, twoje konto zostanie usuniete w ciagu pieciu dni. Prosimy najpierw zapoznac sie z REGULAMINEM oraz FAQ, zanim zaczniesz korzystac ze strony.
EOD;
if($arr[0])
mail($email, "$SITENAME Potwierdzenie rejestracji", $body, "From: $SITEEMAIL", "-f$SITEEMAIL");
else
logincookie($id, $wantpasshash);
header("Refresh: 0; url=ok.php?type=". (!$arr[0]?"sysop":("signup&email=" . urlencode($email))));
?>
|
|
|
|
![]() |
| Narzędzia wątku | |
| Wygląd | |
|
|
Podobne wątki
|
||||
| Wątek | Autor wątku | Forum | Odpowiedzi | Ostatni Post |
| BS, sciga wiecej niz finished | cholody666 | BitSpirit | 4 | 29-08-08 22:12 |
| TbSource 1.5.0 PL | D3FiX | Modyfikowane silniki, kody TbDev.net | 26 | 14-03-08 09:28 |
| Chwilowe problemy ? czy cos wiecej ?! | mojesny | Strony Torrentowe – Problemy | 2 | 09-04-07 11:26 |
| TbSource 1.0.0 [PL] | D3FiX | Modyfikowane silniki, kody TbDev.net | 0 | 12-02-07 16:26 |
| Oddam jedno konto na filelist.org | sulim | Zaproszenia Torrent | 2 | 23-08-06 17:59 |
| Nowy na TM? | Potrzebna Pomoc? |