Php problema nelle sessioni

redevilduil

Nuovo Utente
14 Ott 2009
17
0
0
chattapeople.altervista.org
Ciao. problemino mi torna sempre errore qui perche?

meglio dire anche rispondendo alla domanda in modo giusto da errore =(

PHP:
if ( $domanda != $risp ) {

$errore_domanda=true;

}


posto qui il file intero

PHP:
<?php
session_start();
header("Cache-control: private");
header ("cache-control: no-cache, must-revalidate");
header ("pragma: no-cache");
error_reporting(0);
if(isset($_SESSION['login']))
{header("location: chat.php"); exit;}
if(isset($_COOKIE["bann"]))
{header("location: avviso.php?page=bann"); exit;}

@require_once("setting.inc.php");
@require_once("detect.inc.php");
@require_once("bann.inc.php");

$cell="nondefinito";
$disp="";

if(!empty($subno))
{$cell=$subno;
$disp="cell";
}

if(!empty($h3g))
{$cell=md5($h3g);
$disp="WWW3";}


if(!isset($_POST['login']) OR !isset($_POST['password']) OR !isset($_POST['password2']) OR !isset($_POST['domanda'])  OR !isset($_POST['key']) OR !isset($_POST['codice']))
{
$num1 = rand(1,15); 
$algoritmo=(($num1*$number)+(4*$num1)+(2*$number));
$algoritmo.="9rjf09fjk8";
$algoritmo=md5($algoritmo);
$risp="12";

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.ico" />
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META NAME="KEYWORDS" CONTENT="chat,cellulari,mobile,telefonia,wap,chat gratuita,incontri,amicizia">
<META NAME="DESCRIPTION" CONTENT="Chat gratuita accessibile anche da cellulare">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<title>Registrazione Utente</title>
<link rel="stylesheet" type="text/css" href="stylechatcell.css"></head>
<body onLoad="self.document.form1.login.focus()" topmargin="0">
<center>
<form name="form1" method="post" class="title" action="registrazione.php">
<div class="testata">
<img border='0' src='user.gif'></img> Registrazione </div>
<?php if (@file_exists("database/bloccoreg.txt")){echo "REGISTRAZIONI CHIUSE<br/><a href='index.php'>.:LOGIN:.</a>"; exit;}?>
<div class='avviso'>NON USARE QUI LA STESSA PWD USATA IN ALTRE CHAT !</div>
  Nickname: <br />

      <input name="login" type="text" maxlength="14" id="input"><br />


Password:<br />

<input name="password" type="password" id="input"><br />

Ripeti Password:<br />

<input name="password2" type="password" id="input"><br />

Domanda: 6+6 =<br />

Risposta domanda <br />

<input name="domanda" type="text" maxlength="14" id="input"><br />
<?php echo $risp; ?>

<input type="hidden" name="key" value="<?php echo $num1; ?>" />

<input type="hidden" name="codice" value="<?php echo $algoritmo; ?>" /><br />

<a href="regolamento.php?page=reg"><font color="#FF0000">Regolamento</font></a><br />

<input type="checkbox" name="regola" value="on">Ho preso visione del regolamento e lo accetto<br />
	
<input type="submit" id="input" name="Submit" value="Invia"  />
</form>
<div class="testata"><a href="index.php">Torna Al Login</a></div>
</body>
</html>

<?php exit;}

if (@file_exists("database/bloccoreg.txt")){header("location: index.php"); exit;}

$key= $_POST['key'];
$codice= $_POST['codice'];
$visione= $_POST['regola'];

if(!is_numeric($key))
{header("location: index.php"); exit;}

$algoritmo=(($key*$number)+(4*$key)+(2*$number));
$algoritmo.="9rjf09fjk8";
$algoritmo=md5($algoritmo);


if($codice != $algoritmo)
{header("location: index.php"); exit;}



function ipCheck() {

    if (getenv('HTTP_CLIENT_IP')) {

      $ip = getenv('HTTP_CLIENT_IP');

    }

    elseif (getenv('HTTP_X_FORWARDED_FOR')) {

      $ip = getenv('HTTP_X_FORWARDED_FOR');

    }

    elseif (getenv('HTTP_X_FORWARDED')) {

      $ip = getenv('HTTP_X_FORWARDED');

    }

    elseif (getenv('HTTP_FORWARDED_FOR')) {

      $ip = getenv('HTTP_FORWARDED_FOR');

    }

    elseif (getenv('HTTP_FORWARDED')) {

      $ip = getenv('HTTP_FORWARDED');

    }

    else {

      $ip = $_SERVER['REMOTE_ADDR'];

    }

    return $ip;

  }

$ip= htmlspecialchars(ipCheck());

$ipproxy = $_SERVER["REMOTE_ADDR"];

$client="";
if (getenv('HTTP_X_FORWARDED_FOR'))
{ $client = getenv('HTTP_X_FORWARDED_FOR'); }

if($dispositivo=="PC")
{

//controllo se e' gia' stato richiesto un  nick in base a quell IP-PROXY
$richnick=0;
if(@file_exists("database/".$suff."_validanick.txt"))
{
$var2=@file("database/".$suff."_validanick.txt");
$i=count($var2);
for($a=0; $a<$i; $a++){
$riga=trim($var2[$a]);
$dati=explode("||",$riga);
if(!empty($client))
{
if($dati[2]==$client)
{$richnick=1; break;}
}
if($dati[3]==$ipproxy)
{$richnick=1; break;}

}//end for
}

if($richnick==1)
{header("location: avviso.php?page=doppiarich"); exit;}
}

$browser=htmlspecialchars($_SERVER["HTTP_USER_AGENT"]);
$browser = str_replace(array("\r\n", "\r", "\n"), "", $browser);
$browser = str_replace("|","", $browser);

$isp=gethostbyaddr($_SERVER['REMOTE_ADDR']);
//controlli BANN
if(bannbrowser($browser,$suff) OR bannnick("nicknondefinito",$ip,$ipproxy,$suff) OR banncell($cell,$suff) OR bannisp($isp,$suff))
{
setcookie("bann","1", time()+20000000);
header("location: avviso.php?page=bann");exit;}

if($cell!="nondefinito")
{
//controllo se già registrato
$doppionick=0;
$var99=@file("database/".$suff."_phoneid.txt","a+");
@fclose($var5);
$i=count($var99);

for($a=($i-1); $a>=0; $a--){
$cercanick=explode("||",$var99[$a]);
if($cercanick[1]==$cell OR $cercanick[2]==$cell)
{$doppionick=1;
header("location: avviso.php?page=doppionick"); exit;
break;}
}//fine ciclo for



if($doppionick!=1)
{
//altro controllo sul doppio nick
$var97789=@file("database/".$suff."_iduserphone.txt");
$icnt=count($var97789);
for($h=($icnt-1); $h>=0; $h--){
$cercasphone=explode("||",$var97789[$h]);
if(trim($cercasphone[1])==$cell)
{$doppionick=1;
break;}
}//fine ciclo for
}
if($doppionick==1)
{header("location: avviso.php?page=doppionick"); exit;}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.ico" />
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META NAME="KEYWORDS" CONTENT="chat,cellulari,mobile,telefonia,wap,chat gratuita,incontri,amicizia">
<META NAME="DESCRIPTION" CONTENT="Chat gratuita accessibile anche da cellulare">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<title>Registrazione Utente</title>
<link rel="stylesheet" type="text/css" href="stylechatcell.css"></head>
<body topmargin="0">
<center>
<div class='title'>
<?php
#prendo i dati dal modulo
$login = trim($_POST["login"]);
$login = str_replace(array("\r\n", "\r", "\n"), "", $login);
$login = str_replace("|","", $login);
$lungh=strlen($login);
$login=htmlspecialchars($login);

$spam=array('figa','troia','porno','sesso','sex','azz','pene','vagin','cristo','gesu','madonna','mignotta','puttan','scopa');

$count=count($spam);

for($i=0; $i<$count; $i++)

{

$key=stristr($login,$spam[$i]);

if(!empty($key))

{ echo "<div class='testata'>.: ATTENZIONE :</div><br />Nick VOLGARI non consentiti! Rileggi BENE il <a href='regolamento.php'>REGOLAMENTO</a>!!<p><div class='testata'>Torna al modulo di <a href='registrazione.php'>registrazione</a></p></div>"; exit;}

}


$password = trim(htmlspecialchars($_POST ["password"]));

$password = str_replace(array("\r\n", "\r", "\n"), "", $password);

$password = str_replace("|","", $password);

$password2 = trim(htmlspecialchars($_POST ["password2"]));

$password2 = str_replace(array("\r\n", "\r", "\n"), "", $password2);

$password2 = str_replace("|","", $password2);

$md5=md5(md5($password.$number));

$data= @time();





#controllo che l'utente abbia inserito tutti i dati e le pwd siano uguali


$errore=false;

$errore_password=false;

$errore_domanda=false;

$errorenick=false;

$errore_accetta=false;


function chklogin($login)

{



    if(!preg_match("!^[a-z0-9\d]+$!i", $login)) {

        return false;

    }



    return true;

}





if(chklogin($login)) {

    $errorenick=false;

}

else {

      $errorenick=true;

}







if (( $login == "" ) || ( $password == "" ) || ( $password2 == "" ) || ($visione== ""))

{$errore=true; echo "<div class='testata'><font color='red'>Tutti i campi sono obbligatori !!</font></div><br />";}




if ( $password != $password2 ) {

$errore_password=true;

}


if ( $domanda != $risp ) {

$errore_domanda=true;

}


if(empty($visione))

{$errore_accetta=true;}


if ($errore_accetta) {

echo "<BR>Devi accettare il Regolamento per registrarti";

}

if ($errore_password) {

echo "<br />Le password inserite non corrispondono";

}

{$errore_domanda=true;}

if ($errore_domanda) {

echo "<br />La risposta non  corrisponde";

}


if ($errorenick) {

echo "<br />Il nickname deve contenere solo lettere e numeri";

}

if (($errore) || ($errore_password) || ($errore_domanda) || ($errorenick)) {

 echo "<p><div class='testata'>Torna al modulo di<A HREF=\"registrazione.php\"> registrazione</A></p></div>";

exit;

}


if($lungh>14)

{echo "<div class='testata'>.: $lungh ATTENZIONE :</div><p align='center'>Nick troppo lungo</p><br />";

 echo "<p align='center'><div class='testata'><a href='registrazione.php'>Indietro</a></div></p>"; exit;}

if($lungh<3)

{echo "<div class='testata'>.: ATTENZIONE :</div><p align='center'>Nick troppo corto, min 3 caratteri</p><br />";

 echo "<p align='center'><div class='testata'><a href='registrazione.php'>Indietro</a></div></p>"; exit;}
 

$ok=1;
//verifico se esiste lo stesso nick
$var=@file("database/".$suff."_regnick.txt");
$i=count($var);
for($a=0; $a<$i; $a++){
$testo=explode("||",$var[$a]);
if(strtolower($testo[0])==strtolower($login))
{$ok=0; break;}
}//fine ciclo for

if($ok==0)

{echo utf8_encode("<BR>Questo nome utente è già in uso, scegline un altro. <A HREF=\"registrazione.php\"> Indietro</A>");

exit;}

$nobrowse=array('http','www','.org','.it','.com','altervista','Google Wireless Transcoder','mobile.web.tr','anony');
$countbro=count($nobrowse);

for($i=0; $i<($countbro); $i++)
{
$keybro=stristr($browser,$nobrowse[$i]);
if(!empty($keybro))
{echo "<br />Il tuo Browser non e' consentito <A HREF=\"registrazione.php\"> Indietro</A>";
exit;}
}

//controllo che lo stesso nick non sia in corso di validita
if(@file_exists("database/".$suff."_validanick.txt"))
{
$var9=@file("database/".$suff."_validanick.txt");
$l=count($var9);
for($k=0; $k<$l; $k++){
$rig=trim($var9[$k]);
$dati=explode("|",$rig);
if(strtolower($dati[0])==strtolower($login))
{echo "<br>QUESTO NICK E' GIA' IN USO <a href='registrazione.php'>Indietro</a>";
exit;
break;}
}}

$modcell="";
if($cell!="nondefinito" AND isset($_SERVER["HTTP_X_DEVICE_USER_AGENT"]))
{$modcell=htmlentities($_SERVER["HTTP_X_DEVICE_USER_AGENT"]);
$modcell = str_replace(array("\r\n", "\r", "\n"), "", $modcell);
$modcell = str_replace("|","", $modcell);}


if($cell!="nondefinito")
{
//add riga su iduserphone.txt
$variabile88=$login."||".$cell;
$var33=@fopen("database/".$suff."_iduserphone.txt","a+");
@fwrite($var33,$variabile88."\n");
@fclose($var33);
}


if($cell!="nondefinito" AND !empty($opera))
{$cell=$opera;
 $disp="OPERA MINI";
}
if(empty($disp)){$disp=$dispositivo;}
$isp=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$ip = str_replace("|","", $ip);
$ip = str_replace(array("\r\n", "\r", "\n"), "", $ip);
if($ip==$ipproxy)
{$ipproxy="no proxy";}

$variabile=$login."||".$md5."||".$ipproxy."||".$ip."||".$modcell."||".$browser."||".$isp."||".$cell."||".$data."||".$disp;



$var=@fopen("database/".$suff."_validanick.txt","a+");
@fwrite($var,$variabile."\n");
@fclose($var);

$percorso=$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$percorso=str_replace("registrazione.php","login.php",$percorso);
?>
<div class='testata'>.: I TUOI DATI :</div>
La Registrazione del Nick e' avvenuta con successo!<br />
Nick: <? echo " $login" ?><br />
Password:<? echo " $password" ?><br /><br />
<font color='red'>Il Nick dovra' essere VALIDATO dallo STAFF entro 12 ore dalla registrazione</font><br />
<div class="testata"><a href="index.php">Torna Al Login</a></div></div>
</body>
</html>
 
Ultima modifica di un moderatore:
ciao
lo script è un po' lunghetto, ma ho fatto una prova cercando dove sono le due variabili
a) cerca $risp => trovata alle righe 35, 79 e 370
b) cerca $domanda => trovata solo alla riga 370
quindi (salvo errori) sembrerebbe che la variabile $domanda non venga inizializzata e se non vine inizializzata è logico che null sia diverso da 12 precui errore è true

verifica dive dovrebbe essere inizializzata la $domanda

questo a meno che il mio editor non abbia fatto errori
 
ciao
lo script è un po' lunghetto, ma ho fatto una prova cercando dove sono le due variabili
a) cerca $risp => trovata alle righe 35, 79 e 370
b) cerca $domanda => trovata solo alla riga 370
quindi (salvo errori) sembrerebbe che la variabile $domanda non venga inizializzata e se non vine inizializzata è logico che null sia diverso da 12 precui errore è true

verifica dive dovrebbe essere inizializzata la $domanda

questo a meno che il mio editor non abbia fatto errori

grazie per aver risposto:)

mi sono reso conto che manca
questo
Codice:
$domanda= $_POST['domanda'];

ma nulla da fare , la ruggine si fa sentire
 
Ciao. problemino mi torna sempre errore qui perche?

meglio dire anche rispondendo alla domanda in modo giusto da errore =(

PHP:
if ( $domanda != $risp ) {

$errore_domanda=true;

}


posto qui il file intero

PHP:
<?php
session_start();
header("Cache-control: private");
header ("cache-control: no-cache, must-revalidate");
header ("pragma: no-cache");
error_reporting(0);
if(isset($_SESSION['login']))
{header("location: chat.php"); exit;}
if(isset($_COOKIE["bann"]))
{header("location: avviso.php?page=bann"); exit;}

@require_once("setting.inc.php");
@require_once("detect.inc.php");
@require_once("bann.inc.php");

$cell="nondefinito";
$disp="";

if(!empty($subno))
{$cell=$subno;
$disp="cell";
}

if(!empty($h3g))
{$cell=md5($h3g);
$disp="WWW3";}


if(!isset($_POST['login']) OR !isset($_POST['password']) OR !isset($_POST['password2']) OR !isset($_POST['domanda'])  OR !isset($_POST['key']) OR !isset($_POST['codice']))
{
$num1 = rand(1,15); 
$algoritmo=(($num1*$number)+(4*$num1)+(2*$number));
$algoritmo.="9rjf09fjk8";
$algoritmo=md5($algoritmo);
$risp="12";

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.ico" />
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META NAME="KEYWORDS" CONTENT="chat,cellulari,mobile,telefonia,wap,chat gratuita,incontri,amicizia">
<META NAME="DESCRIPTION" CONTENT="Chat gratuita accessibile anche da cellulare">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<title>Registrazione Utente</title>
<link rel="stylesheet" type="text/css" href="stylechatcell.css"></head>
<body onLoad="self.document.form1.login.focus()" topmargin="0">
<center>
<form name="form1" method="post" class="title" action="registrazione.php">
<div class="testata">
<img border='0' src='user.gif'></img> Registrazione </div>
<?php if (@file_exists("database/bloccoreg.txt")){echo "REGISTRAZIONI CHIUSE<br/><a href='index.php'>.:LOGIN:.</a>"; exit;}?>
<div class='avviso'>NON USARE QUI LA STESSA PWD USATA IN ALTRE CHAT !</div>
  Nickname: <br />

      <input name="login" type="text" maxlength="14" id="input"><br />


Password:<br />

<input name="password" type="password" id="input"><br />

Ripeti Password:<br />

<input name="password2" type="password" id="input"><br />

Domanda: 6+6 =<br />

Risposta domanda <br />

<input name="domanda" type="text" maxlength="14" id="input"><br />
<?php echo $risp; ?>

<input type="hidden" name="key" value="<?php echo $num1; ?>" />

<input type="hidden" name="codice" value="<?php echo $algoritmo; ?>" /><br />

<a href="regolamento.php?page=reg"><font color="#FF0000">Regolamento</font></a><br />

<input type="checkbox" name="regola" value="on">Ho preso visione del regolamento e lo accetto<br />
	
<input type="submit" id="input" name="Submit" value="Invia"  />
</form>
<div class="testata"><a href="index.php">Torna Al Login</a></div>
</body>
</html>

<?php exit;}

if (@file_exists("database/bloccoreg.txt")){header("location: index.php"); exit;}

$key= $_POST['key'];
$codice= $_POST['codice'];
$visione= $_POST['regola'];

if(!is_numeric($key))
{header("location: index.php"); exit;}

$algoritmo=(($key*$number)+(4*$key)+(2*$number));
$algoritmo.="9rjf09fjk8";
$algoritmo=md5($algoritmo);


if($codice != $algoritmo)
{header("location: index.php"); exit;}



function ipCheck() {

    if (getenv('HTTP_CLIENT_IP')) {

      $ip = getenv('HTTP_CLIENT_IP');

    }

    elseif (getenv('HTTP_X_FORWARDED_FOR')) {

      $ip = getenv('HTTP_X_FORWARDED_FOR');

    }

    elseif (getenv('HTTP_X_FORWARDED')) {

      $ip = getenv('HTTP_X_FORWARDED');

    }

    elseif (getenv('HTTP_FORWARDED_FOR')) {

      $ip = getenv('HTTP_FORWARDED_FOR');

    }

    elseif (getenv('HTTP_FORWARDED')) {

      $ip = getenv('HTTP_FORWARDED');

    }

    else {

      $ip = $_SERVER['REMOTE_ADDR'];

    }

    return $ip;

  }

$ip= htmlspecialchars(ipCheck());

$ipproxy = $_SERVER["REMOTE_ADDR"];

$client="";
if (getenv('HTTP_X_FORWARDED_FOR'))
{ $client = getenv('HTTP_X_FORWARDED_FOR'); }

if($dispositivo=="PC")
{

//controllo se e' gia' stato richiesto un  nick in base a quell IP-PROXY
$richnick=0;
if(@file_exists("database/".$suff."_validanick.txt"))
{
$var2=@file("database/".$suff."_validanick.txt");
$i=count($var2);
for($a=0; $a<$i; $a++){
$riga=trim($var2[$a]);
$dati=explode("||",$riga);
if(!empty($client))
{
if($dati[2]==$client)
{$richnick=1; break;}
}
if($dati[3]==$ipproxy)
{$richnick=1; break;}

}//end for
}

if($richnick==1)
{header("location: avviso.php?page=doppiarich"); exit;}
}

$browser=htmlspecialchars($_SERVER["HTTP_USER_AGENT"]);
$browser = str_replace(array("\r\n", "\r", "\n"), "", $browser);
$browser = str_replace("|","", $browser);

$isp=gethostbyaddr($_SERVER['REMOTE_ADDR']);
//controlli BANN
if(bannbrowser($browser,$suff) OR bannnick("nicknondefinito",$ip,$ipproxy,$suff) OR banncell($cell,$suff) OR bannisp($isp,$suff))
{
setcookie("bann","1", time()+20000000);
header("location: avviso.php?page=bann");exit;}

if($cell!="nondefinito")
{
//controllo se già registrato
$doppionick=0;
$var99=@file("database/".$suff."_phoneid.txt","a+");
@fclose($var5);
$i=count($var99);

for($a=($i-1); $a>=0; $a--){
$cercanick=explode("||",$var99[$a]);
if($cercanick[1]==$cell OR $cercanick[2]==$cell)
{$doppionick=1;
header("location: avviso.php?page=doppionick"); exit;
break;}
}//fine ciclo for



if($doppionick!=1)
{
//altro controllo sul doppio nick
$var97789=@file("database/".$suff."_iduserphone.txt");
$icnt=count($var97789);
for($h=($icnt-1); $h>=0; $h--){
$cercasphone=explode("||",$var97789[$h]);
if(trim($cercasphone[1])==$cell)
{$doppionick=1;
break;}
}//fine ciclo for
}
if($doppionick==1)
{header("location: avviso.php?page=doppionick"); exit;}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.ico" />
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META NAME="KEYWORDS" CONTENT="chat,cellulari,mobile,telefonia,wap,chat gratuita,incontri,amicizia">
<META NAME="DESCRIPTION" CONTENT="Chat gratuita accessibile anche da cellulare">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<title>Registrazione Utente</title>
<link rel="stylesheet" type="text/css" href="stylechatcell.css"></head>
<body topmargin="0">
<center>
<div class='title'>
<?php
#prendo i dati dal modulo
$login = trim($_POST["login"]);
$login = str_replace(array("\r\n", "\r", "\n"), "", $login);
$login = str_replace("|","", $login);
$lungh=strlen($login);
$login=htmlspecialchars($login);

$spam=array('figa','troia','porno','sesso','sex','azz','pene','vagin','cristo','gesu','madonna','mignotta','puttan','scopa');

$count=count($spam);

for($i=0; $i<$count; $i++)

{

$key=stristr($login,$spam[$i]);

if(!empty($key))

{ echo "<div class='testata'>.: ATTENZIONE :</div><br />Nick VOLGARI non consentiti! Rileggi BENE il <a href='regolamento.php'>REGOLAMENTO</a>!!<p><div class='testata'>Torna al modulo di <a href='registrazione.php'>registrazione</a></p></div>"; exit;}

}


$password = trim(htmlspecialchars($_POST ["password"]));

$password = str_replace(array("\r\n", "\r", "\n"), "", $password);

$password = str_replace("|","", $password);

$password2 = trim(htmlspecialchars($_POST ["password2"]));

$password2 = str_replace(array("\r\n", "\r", "\n"), "", $password2);

$password2 = str_replace("|","", $password2);

$md5=md5(md5($password.$number));

$data= @time();





#controllo che l'utente abbia inserito tutti i dati e le pwd siano uguali


$errore=false;

$errore_password=false;

$errore_domanda=false;

$errorenick=false;

$errore_accetta=false;


function chklogin($login)

{



    if(!preg_match("!^[a-z0-9\d]+$!i", $login)) {

        return false;

    }



    return true;

}





if(chklogin($login)) {

    $errorenick=false;

}

else {

      $errorenick=true;

}







if (( $login == "" ) || ( $password == "" ) || ( $password2 == "" ) || ($visione== ""))

{$errore=true; echo "<div class='testata'><font color='red'>Tutti i campi sono obbligatori !!</font></div><br />";}




if ( $password != $password2 ) {

$errore_password=true;

}


if ( $domanda != $risp ) {

$errore_domanda=true;

}


if(empty($visione))

{$errore_accetta=true;}


if ($errore_accetta) {

echo "<BR>Devi accettare il Regolamento per registrarti";

}

if ($errore_password) {

echo "<br />Le password inserite non corrispondono";

}

{$errore_domanda=true;}

if ($errore_domanda) {

echo "<br />La risposta non  corrisponde";

}


if ($errorenick) {

echo "<br />Il nickname deve contenere solo lettere e numeri";

}

if (($errore) || ($errore_password) || ($errore_domanda) || ($errorenick)) {

 echo "<p><div class='testata'>Torna al modulo di<A HREF=\"registrazione.php\"> registrazione</A></p></div>";

exit;

}


if($lungh>14)

{echo "<div class='testata'>.: $lungh ATTENZIONE :</div><p align='center'>Nick troppo lungo</p><br />";

 echo "<p align='center'><div class='testata'><a href='registrazione.php'>Indietro</a></div></p>"; exit;}

if($lungh<3)

{echo "<div class='testata'>.: ATTENZIONE :</div><p align='center'>Nick troppo corto, min 3 caratteri</p><br />";

 echo "<p align='center'><div class='testata'><a href='registrazione.php'>Indietro</a></div></p>"; exit;}
 

$ok=1;
//verifico se esiste lo stesso nick
$var=@file("database/".$suff."_regnick.txt");
$i=count($var);
for($a=0; $a<$i; $a++){
$testo=explode("||",$var[$a]);
if(strtolower($testo[0])==strtolower($login))
{$ok=0; break;}
}//fine ciclo for

if($ok==0)

{echo utf8_encode("<BR>Questo nome utente è già in uso, scegline un altro. <A HREF=\"registrazione.php\"> Indietro</A>");

exit;}

$nobrowse=array('http','www','.org','.it','.com','altervista','Google Wireless Transcoder','mobile.web.tr','anony');
$countbro=count($nobrowse);

for($i=0; $i<($countbro); $i++)
{
$keybro=stristr($browser,$nobrowse[$i]);
if(!empty($keybro))
{echo "<br />Il tuo Browser non e' consentito <A HREF=\"registrazione.php\"> Indietro</A>";
exit;}
}

//controllo che lo stesso nick non sia in corso di validita
if(@file_exists("database/".$suff."_validanick.txt"))
{
$var9=@file("database/".$suff."_validanick.txt");
$l=count($var9);
for($k=0; $k<$l; $k++){
$rig=trim($var9[$k]);
$dati=explode("|",$rig);
if(strtolower($dati[0])==strtolower($login))
{echo "<br>QUESTO NICK E' GIA' IN USO <a href='registrazione.php'>Indietro</a>";
exit;
break;}
}}

$modcell="";
if($cell!="nondefinito" AND isset($_SERVER["HTTP_X_DEVICE_USER_AGENT"]))
{$modcell=htmlentities($_SERVER["HTTP_X_DEVICE_USER_AGENT"]);
$modcell = str_replace(array("\r\n", "\r", "\n"), "", $modcell);
$modcell = str_replace("|","", $modcell);}


if($cell!="nondefinito")
{
//add riga su iduserphone.txt
$variabile88=$login."||".$cell;
$var33=@fopen("database/".$suff."_iduserphone.txt","a+");
@fwrite($var33,$variabile88."\n");
@fclose($var33);
}


if($cell!="nondefinito" AND !empty($opera))
{$cell=$opera;
 $disp="OPERA MINI";
}
if(empty($disp)){$disp=$dispositivo;}
$isp=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$ip = str_replace("|","", $ip);
$ip = str_replace(array("\r\n", "\r", "\n"), "", $ip);
if($ip==$ipproxy)
{$ipproxy="no proxy";}

$variabile=$login."||".$md5."||".$ipproxy."||".$ip."||".$modcell."||".$browser."||".$isp."||".$cell."||".$data."||".$disp;



$var=@fopen("database/".$suff."_validanick.txt","a+");
@fwrite($var,$variabile."\n");
@fclose($var);

$percorso=$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$percorso=str_replace("registrazione.php","login.php",$percorso);
?>
<div class='testata'>.: I TUOI DATI :</div>
La Registrazione del Nick e' avvenuta con successo!<br />
Nick: <? echo " $login" ?><br />
Password:<? echo " $password" ?><br /><br />
<font color='red'>Il Nick dovra' essere VALIDATO dallo STAFF entro 12 ore dalla registrazione</font><br />
<div class="testata"><a href="index.php">Torna Al Login</a></div></div>
</body>
</html>



risolto tutto :)
 
Codice:
<?

$lung_domanda2 = 5;


for ($x=1; $x<=$lung_domanda2; $x++)
{
 
  if ($x % 2){
   
    $domanda2 = $domanda2 . chr(rand(97,122));

 
  }else{
   
    $domanda2 = $domanda2 . rand(0,9);
  }
}

// non stampo a video il risultato 

?>



genero codice alfanumerico

Codice:
risultato codice
<? echo " $domanda2" ?><br />inserisci il codice qui :
<input name="domanda" type="domanda"  id="input"><br />

 questo input non sarà visibile ma passa un valore che successivamene verra controllato 
<input type="hidden" name="domanda2" value="<?php echo $domanda2; ?>" />

spero possa servire ad altri in futuro
 
ciao
ok,
ma visto che tratti di "domande" posso farti una domanda io?
quello che tu chiami domanda2 è una cosa che l'utente deve indovinare ed è una cosa importante o è solo un giochino?
ti chiedo questo perche se è una cosa importante prima di rispondere l'utente puo "visualizza sorgente" dal bw e vede (es il rand ha resituito 103) vede nel sorgente
<input type="hidden" name="domanda2" value="103" />
e quindi "indovina" 103, quindi se è importante sarebbe meglio passare il valore con una sessione e non con un campo di input anche se hidden

edit
dimenticavo
scusa, ma prima mi era sfuggita una cosa.
tu fai
PHP:
<?php
$lung_domanda2 = 5;
for ($x=1; $x<=$lung_domanda2; $x++){
	if ($x % 2){
		$domanda2 = $domanda2 . chr(rand(97,122));
	}else{
		$domanda2 = $domanda2 . rand(0,9);
	}
}
// non stampo a video il risultato 
?>
quindi un'altra domanda: perchè fai quell'ambaradan del for?
indipendentemente dal valore di $lung_domanda2, esempio
se $lung_domanda2 = 5 (dispari) otterrai sempre l'ultimo valore estratto dal rand rand(0,9) al momento in cui $x == 5
se $lung_domanda2 = 8 (pari) otterrai sempre l'ultimo valore estratto dal rand chr(rand(97,122) al momento in cui $x == 8
quindi la probabilità di estrarre una domanda casuale è identica anche se scrivi più semplicemente
PHP:
<?php
$lung_domanda2 = 5;
if ($lung_domanda2 % 2){
	$domanda2 = $domanda2 . chr(rand(97,122));
}else{
	$domanda2 = $domanda2 . rand(0,9);
}
//...
?>
 
Ultima modifica:
ciao
ok,
ma visto che tratti di "domande" posso farti una domanda io?
quello che tu chiami domanda2 è una cosa che l'utente deve indovinare ed è una cosa importante o è solo un giochino?
ti chiedo questo perche se è una cosa importante prima di rispondere l'utente puo "visualizza sorgente" dal bw e vede (es il rand ha resituito 103) vede nel sorgente
<input type="hidden" name="domanda2" value="103" />
e quindi "indovina" 103, quindi se è importante sarebbe meglio passare il valore con una sessione e non con un campo di input anche se hidden

edit
dimenticavo
scusa, ma prima mi era sfuggita una cosa.
tu fai
PHP:
<?php
$lung_domanda2 = 5;
for ($x=1; $x<=$lung_domanda2; $x++){
	if ($x % 2){
		$domanda2 = $domanda2 . chr(rand(97,122));
	}else{
		$domanda2 = $domanda2 . rand(0,9);
	}
}
// non stampo a video il risultato 
?>
quindi un'altra domanda: perchè fai quell'ambaradan del for?
indipendentemente dal valore di $lung_domanda2, esempio
se $lung_domanda2 = 5 (dispari) otterrai sempre l'ultimo valore estratto dal rand rand(0,9) al momento in cui $x == 5
se $lung_domanda2 = 8 (pari) otterrai sempre l'ultimo valore estratto dal rand chr(rand(97,122) al momento in cui $x == 8
quindi la probabilità di estrarre una domanda casuale è identica anche se scrivi più semplicemente
PHP:
<?php
$lung_domanda2 = 5;
if ($lung_domanda2 % 2){
	$domanda2 = $domanda2 . chr(rand(97,122));
}else{
	$domanda2 = $domanda2 . rand(0,9);
}
//...
?>


si giustissimo , comunque lo script e nato per lung_domanda2 = 10, poi da me impostato a 5 .

La funzione dello script e solo per evitare che gli spamer registrino 100 nickname con quei programmi da .......!!
Io personalmente avrei fatto come scritto da te, ma non riuscivo a farlo funzionare =(

Anche se la domanda2 viene stampata visiva sulla pagina o riuscissero a leggerlo non e un problema,
Diciamo che questo script e un piccolo captchat senza utilizzo di generatore di immagine
 

Discussioni simili