Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema script controllo in php

  1. #1
    elettrosystemvt non è connesso Utente giovane
    Data registrazione
    22-01-2011
    Messaggi
    44

    Predefinito Problema script controllo in php

    Ho un problema con questo script, ossia singolarmente i due controlli funzionano ma uniti se uso utente e password giusta mi fa accedere anche senza captcha. Cosa sbaglio?
    Codice PHP:
    <?
    function check($user,$password){
    include(
    "accesso2.php");
    foreach(
    $utenti as $user_ => $password_){
    if ((
    $user==$user_) AND ($password==$password_)) {
    $obbligo_captcha = "Y";
    if(
    $obbligo_captcha == "y"){
    if (
    $_POST['txt_captcha']!= $_SESSION['session_captchaText'])
    {
    return
    true;
    }
    else
    {
    return
    false;
    }
    }
    }
    }

    return
    false;
    }
    function
    form_login(){
    ?>
    Ultima modifica di alemoppo : 08-02-2012 alle ore 21.23.43 Motivo: +tag [php]

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    a mio avviso effettui un controllo che non serve con y(min) , quando $obbligo_captcha = "Y";
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    elettrosystemvt non è connesso Utente giovane
    Data registrazione
    22-01-2011
    Messaggi
    44

    Predefinito

    Scusate ho sbagliato script quello esatto è questo:

    Codice PHP:
    <? }
    if(isset(
    $_POST["utente"])){
    if (
    check($_POST["utente"],$_POST["password"])){
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    $_SESSION['session_captchaText'] = $_POST['txt_captcha'];
    header("Location: area.php");
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    ?>
    Ultima modifica di alemoppo : 08-02-2012 alle ore 21.24.04 Motivo: + tag [php]

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    così non effettui il controllo chapta....

    effettui solo il controllo utente e pass....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    elettrosystemvt non è connesso Utente giovane
    Data registrazione
    22-01-2011
    Messaggi
    44

    Predefinito

    come posso effettuare entrambi i controlli?

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non so come è strutturato il tuo script, puoi controllare che il valore immesso dall'utente nell'input chapta sia corrispondente al txt del chapta tramite una funzione.....

    Codice PHP:

    <? }
    if(isset(
    $_POST["utente"])){
    if (
    check($_POST["utente"],$_POST["password"]) and check_chapta($_POST['txt_captcha']))

    {
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    $_SESSION['session_captchaText'] = $_POST['txt_captcha'];
    header("Location: area.php");
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    ?>
    Ultima modifica di EuroSalute : 08-02-2012 alle ore 22.25.57 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    elettrosystemvt non è connesso Utente giovane
    Data registrazione
    22-01-2011
    Messaggi
    44

    Predefinito

    Ho provato così ma ancora niente, per le password tutto ok ma il captcha non funziona.
    <? }
    if(isset($_POST["utente"])){
    if (check($_POST["utente"],$_POST["password"])){
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    if ($_POST["txt_captcha"] = $_SESSION["session_captchaText"])
    {
    header("Location: area.php");
    }
    else
    {
    form_login();
    }
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    ?>

    Dopo vari tentativi ho risolto. Mancava un =.
    if ($_POST["txt_captcha"] == $_SESSION["session_captchaText"])

    Grazie a tutti lo stesso.
    Ultima modifica di elettrosystemvt : 09-02-2012 alle ore 00.06.06

  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    se salvi il txt-chapta come sessione allora sarà:
    Codice PHP:
    if ($_SESSION["session_captchaText"]==$_POST["txt_captcha"]) {
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  9. #9
    elettrosystemvt non è connesso Utente giovane
    Data registrazione
    22-01-2011
    Messaggi
    44

    Predefinito

    Ora però mi trovo di fronte ad un'altro script che ha lo stesso problema fa passare il captcha:
    <?php
    session_start();
    if(@$_SESSION['log'] == '1') {//se l'utente ha gia effetuato il login
    header("Location: http://".$_SERVER['HTTP_HOST']."/area.php");//lo mando all' area riserva
    } else {
    if(isset($_POST['submit'])) {//se il form è stato submistato il form
    $username=htmlentities($_POST['username']);//raccolgo i dati inviati via post
    $password=htmlentities($_POST['password']);
    $file='utenti.txt';
    $utenti=file($file);
    $crypt_pass = md5($password);
    $log = false;
    $error = false;
    foreach($utenti as $valore) {
    $valore = @substr($valore, 0, strlen($valore)-1);
    @list($username_file, $password_file, $email, $codice, $attivo)=@explode(',', $valore);//listo i dati dell utente
    if($username_file == $username && $password_file == $crypt_pass) {//verifico se l'utente corisponde a quello scelto
    if($attivo != '1') {//se l'utente non attivato l'user
    $error = "active";
    } else {
    $log=true;
    $_SESSION['log'] = '1';//setto le sessioni
    $_SESSION['username'] = $username;
    $_SESSION['email'] = $email;
    }
    } else {
    $error = "usrpsw";
    }
    }
    if($log == true) {

    if ($_POST["txt_captcha"] == $_SESSION["session_captchaText"])
    {
    echo "<script type=\"text/Javascript\">
    window.location = 'area.php';
    </script>"; ;
    }
    else
    {
    switch($error) {
    case false:
    echo "Login fallito";
    break;
    }
    $retry = true;
    }



    } else {
    switch($error) {
    case 'active':
    echo "Non hai ancora confermato tramite e-mail";
    break;
    case 'usrpsw':
    echo "Combinazione username e password sbagliati";
    break;
    case false:
    echo "Login fallito";
    break;
    }
    $retry = true;
    }
    }
    if(!isset($_POST["submit"]) || isset($retry)) {
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •