PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anmeldung nur mit at,de und ch IP



didith1207
24.11.2009, 10:41
Nachdem Sponsorennetzwerke immer mehr nur traffic von at,de und ch zulassen hab ich die anmelden.php so umgeschrieben das sich auch nur User aus diesen Ländern anmelden können.

Vorausgesetzt das es funktioniert ist das Länderaddon aus dem download und das man immer die neuersten IP updates macht!



<?
// Variabel vordefinieren!
if (!isset($_POST['anmelden'])) $_POST['anmelden'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['nachname'])) $_POST['nachname'] = "";
if (!isset($_POST['vorname'])) $_POST['vorname'] = "";
if (!isset($_POST['emailadresse'])) $_POST['emailadresse'] = "";
if (!isset($_POST['passwort_1'])) $_POST['passwort_1'] = "";
if (!isset($_POST['passwort_2'])) $_POST['passwort_2'] = "";
if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = "";
if (!isset($_POST['uid'])) $_POST['uid'] = "";
if (!isset($_POST['agb'])) $_POST['agb'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "1";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "1";
if (!isset($error)) $error = "";
if (!isset($anmeldeok)) $anmeldeok = "";
if (!isset($ak)) $ak = "";

if ($_POST['anmelden'] == "Jetzt anmelden!") {

$_POST['nachname'] = addslashes ($_POST['nachname']);
$_POST['vorname'] = addslashes ($_POST['vorname']);


$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
$s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE zeit='".$tag."' and uid='0'"));
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] || !$_POST['vorname'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['uid'] || !$_POST['uid_passwort'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>';

// Pruefen, ob man sich mit der eMail-Domain anmelden darf
$denied = explode(';', $pageconfig['denied_domains']);
foreach ($denied AS $nr => $emaildomain) if (($nr < (count ($denied)-2) || strlen ($emaildomain) >= 5) && strpos ($_POST['emailadresse'], $emaildomain) !== FALSE) $error .= 'E-Mail-Adressen mit der Domain "<i>'.$emaildomain.'</i>" sind bei uns nicht erlaubt!<br>';

if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
if ($_POST['passwort_1'] != $_POST['passwort_2']) $error .= 'Passwörter stimmen nicht überein!<br>';
if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
if (ereg("[^0-9]", $_POST['uid'])) $error .= 'Bei der Klamm Id nur Zahlen!<br>';
if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>';
if ($_POST['uid'] == $_SESSION['werber']) $error .= 'Du kannst Dich nicht selber werben<br>';
if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>';

// User mit der Datenbank abgleichen
if (!$error) {
$_POST['nickname'] = mysql_real_escape_string(ucfirst($_POST['nickname']));
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$_POST['nickname']."'");
$user_check = db_query ("SELECT `uid` FROM ".$db_prefix."_kontodaten WHERE uid='".$_POST['uid']."'");
$mail_check = db_query ("SELECT `emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse='".$_POST['emailadresse']."'");
$black_check= db_query ("SELECT * FROM ".$db_prefix."_userblacklist WHERE uid='".$_POST['uid']."' and zeit >='".time()."'");
$sperre = mysql_fetch_array($black_check);
if ($sperre['zeit'] != 99999999999) {
$sperrtext = 'Du bist für eine Neuanmeldung noch bis <b>'.date("d.m.Y - H:i:s",$sperre['zeit']).'</b> gesperrt!<br>';
} else {
$sperrtext = '<b><i>Du bist für diese Webseite komplett gesperrt!</i></b>';
}
if (mysql_num_rows($user_check)) $error .= 'Du bist bereits bei uns angemeldet!<br>';
if (mysql_num_rows($mail_check)) $error .= 'Diese Emailadresse ist schon im System!<br>';
if (mysql_num_rows($black_check)) $error = $sperrtext;
if (mysql_num_rows($nickname_check)) $error .='Der Nickname ist schon vergeben!<br>';
}

// User beim Betreiber prüfen
if (!$error) {
if ($schnittstelle['anfragen_user'] != 0) db_query("INSERT INTO ".$db_prefix."_schnittstelle_anfragen (zeit,uid) VALUES ('".$tag."','0')");
@require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php");
@uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_POST['uid'],$_POST['uid_passwort']);
if ($error) $error = $trans_ausgabe.'<br>';
}


// User eintragen
if (!$error) {
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','0')");
db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES ('".$_POST['uid']."','".$_POST['emailadresse']."','".$mailstatus."')");
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
$ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$_POST['uid']."'");
db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES ('".$_POST['uid']."','".$_SESSION['werber']."','0','".time()."')");
$ak = md5($_POST['uid'].''.time());
db_query("INSERT INTO ".$db_prefix."_aktivierungen (uid,ak) VALUES ('".$_POST['uid']."','".$ak."')");
$email_message = 'Hallo '.$_POST['nickname'].',
Du hast Dich soeben erfolgreich bei '.$seitenname.' angemeldet.

Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den
Aktivierungslink: '.$domain.'/?content=/intern/aktivieren&ak='.$ak.'

----------------------------------------------------------
Kontonummer: '.$_POST['uid'].'
Passwort: '.$_POST['passwort_1'].'
----------------------------------------------------------

Nach der Aktivierung kannst Du dich sofort einloggen und bei
uns teilnehmen.

Mit freundlichen Grüßen
Das '.$seitenname.' Team
';
usermail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>');
$anmeldeok = "true";
}

}

if ($error){
head("Anmeldefehler");
echo '<font color="#cc0000">'.$error.'</font>';
foot();
}
?>
<?

$ccode_array = mysql_fetch_array(db_query("SELECT * FROM laendercode WHERE IP_FROM<=inet_aton('".$ip."') AND IP_TO>=inet_aton('".$ip."');"));
$cc2=$ccode_array['CC2'];


if($cc2 == 'DE' OR $cc2 == 'AT' OR $cc2 == 'CH'){?>
<? if ($anmeldeok != "true") { ?>
<?head("$seitenname - Neuanmeldung");?>
<center><b>Neuanmeldung</b></center>
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<form action="" method="post">
<tr>
<td class="main"><b>Nickname:</b></td>
<td class="main"><input type="text" name="nickname" value="<?=$_POST['nickname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Nachname:</b></td>
<td class="main"><input type="text" name="nachname" value="<?=$_POST['nachname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Vorname:</b></td>
<td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Emailadresse:</b></td>
<td class="main"><input type="text" name="emailadresse" value="<?=$_POST['emailadresse'];?>"></td>
</tr>
<tr>
<td class="main"><b>Klamm Id:</b></td>
<td class="main"><input type="text" name="uid" value="<?=$_POST['uid'];?>"></td>
</tr>
<tr>
<td class="main"><b>Lose-Passwort zur Identifizierung:</b></td>
<td class="main"><input type="password" name="uid_passwort"></td>
</tr>
<tr>
<td class="main">Werber:</td>
<td class="main"><? if($_SESSION['werber'] == 0) {echo '<b>keinen</b>';} else {echo $_SESSION['werber'];}?></td>
</tr>
<tr>
<td class="main"><b>Passwort:</b></td>
<td class="main"><input type="password" name="passwort_1"></td>
</tr>
<tr>
<td class="main"><b>Passwortbestätigung:</b></td>
<td class="main"><input type="password" name="passwort_2"></td>
</tr>
<tr>
<td class="main"><b>Paidmails empfangen:</b></td>
<td class="main"><select name="paidmails"><option value="1" <? if ($_POST['paidmails'] == 1) { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['paidmails'] != 1) { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main"><b>Newsletter:</b></td>
<td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['newsletter'] != "1") { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main"><b>AGB gelesen und akzeptiert:</b></td>
<td class="main"><select name="agb"><option value="ja" <? if ($_POST['agb'] == "ja") { echo 'selected';}?>>Ja</option><option value="nein" <? if ($_POST['agb'] != "ja") { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main" align="center" colspan="2">
Vor dem Anmelden lese bitte die AGB!<br><br>
<input type="submit" name="anmelden" value="Jetzt anmelden!">
</td>
</tr>
</form>
</table>
<?foot();?>
<?} else {?>
<?head("$seitenname - Anmeldung erfolgreich!");?>
Deine Anmeldung bei <?=$seitenname;?> war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink.
Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br>
<br>
Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br>
<br>
Mit freundlichen Grüßen<br>
Das <?=$seitenname;?> Team<br>

<?foot();?>
<? } ?>
<?} else {?>
<?head("Keine Anmeldung möglich!");?>
<center><b><font color="#FF0000"><i>Es dürfen sich nur User aus Deutschland,Österreich und Schweiz anmelden!<br>We only accept user from Germany,Austria and Switzerland!</i></font></b></center>
<br />
<?foot();?>
<?}?>

DimpleX
24.11.2009, 10:43
man kann das wenn man eigenen server hat,auch direkt machen

aber wie du schon sagst wichtig ist aktuelle ip liste

DimpleX

Sebmaster
24.11.2009, 18:01
man kann das wenn man eigenen server hat,auch direkt machen

Klar, weil wir ja alle Leistung zum verschenken haben:suspicious:

Lokutos
24.11.2009, 20:57
man kann das wenn man eigenen server hat,auch direkt machen

aber wie du schon sagst wichtig ist aktuelle ip liste

DimpleX

Die wenigsten betreiber vom vms haben nen eigenen server würde ich mal sagen.

zudehm warum sich die mühe machen bei der anmeldung?

Zocken durfen die doch auch wenn sie wollen oder nicht?
habe bei mir auf der seite auch zwei von Frankreich
einer zockt täglich n bisschen und hat anteile.
und ich persönlich möchte den user nicht missen.

DimpleX
25.11.2009, 00:42
darum geht es nicht


sagmal bist blöd ,oder was



DimpleX

Lokutos
25.11.2009, 17:47
darum geht es nicht


sagmal bist blöd ,oder was



DimpleX

Und wen sprichst du mit deinem beitrag an?
mich oder sebmaster?

breaker
28.11.2009, 03:56
Schaut euch mal das Script auf http://country.wittesoft.de an ;)

Das dürft ihr auch gerne mal mit einem Ausländischen Proxy testen.....oder mit Mail-Adressen von Web.de (Nur die Prüfung der Mail-Adressen über MX-Host funktioniert im Moment nicht, weil ich die Funktionen noch nicht in den IP-Tables vom Server freigegeben habe) ;)