Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Accesso privato al sito mediante inserimento di credenziali e protezione dal download

    Salve a tutti,

    Eccomi ritornato dopo tanto tempo. Ho provato ad installare su un dominio free prestashop e stavo giocando un po' con il back office per capire come funziona il crm.
    Ho deciso di scrivere qui perché ora vorrei progettare una "pagina di accesso privato".
    In pratica io vorrei che l'utilizzo e la visione della pagina di ecommerce fosse visibile solo esclusivamente ad una ristretta cerchia di utenti a cui io spedisco una password ed una user.
    In secondo luogo vorrei capire come posso impedire ai visitatori del mio sito di scaricare file dal dominio ma di permetterne ugualmente l'utilizzo.
    In pratica vorrei avere un sito più sicuro capace di contrastare software come questi:
    http://www.filefuel.net/sezioni/scaricare_siti.htm
    ed altri che io ignoro.
    A mio avviso la mia idea di "l'ecommerce privato" non é fattibile però provo a chiedere così magari scopro qualcosa di nuovo.

    Grazie
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  2. #2
    Per realizzare delle pagine ad accesso privato devi utilizzare le Sessioni... stessa cosa per quanto riguarda i download..cerca nelle guide di php qui su html.it..è un argomento che è stato trattato milioni di volte
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    Speravo che mi dessi qualche aiuto in più comunque vorrei ricordarti che io non sono in grado di mettere mano al mio ecommerce e soprattutto non voglio farlo per non compromettere i futuri aggiornamenti.
    A me serve una pagina dove l'utente inserisce un nome ed una password e qualora esse siano giuste venga indirizzato alla mia pagina di ecommerce "/prestashop/index.php".
    E' chiaro che se l'utente aggiungesse il testo sopra tra virgolette potrebbe tranquillamente accedere al mio ecommerce però é anche vero che se l'utente facesse questo non sarebbe grave.
    L'idea é di dare a tutti i miei clienti una password ed una user comune per accedere ad una pagina senza doverla necessariamente digitare tutte le volte sul browser.
    Sicuro che bisogna scomodare le sessioni per una cosa simile?
    Se avessi già scritto in passato un semplice script per fare una cosa simile mi potrebbe essere molto utile.
    Grazie di tutto!
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  4. #4
    allora...ti spiego brevemente....nella tua pagina di accesso hai il form per effettuare il login....una volta che l'utente inserisce username e password verifiche che le credenziali siano corrette (per ex, memorizzi gli user e le pass degli utenti su un DB e verifichi con una query che le credenziali inserite siano presenti nel database). Se le credenziali sono giuste, inizializzi una sessione con il comando session_start() e memorizzi le credenziali username e password (previa criptazione: vedi md5 o sha1 come algoritmi di criptazione) in una variabile di sessione. Ora in tutte le pagine che devono essere accessibili solo da alcune persone (cioe quelle che si autenticano) fai una cosa del genere:

    Codice PHP:

        <?php

             sessione_start
    ();
             if (isset(
    $_SESSION(nome_della_variabile_di_sessione))){
             
                   
    //ci metti il codice della pagina che devi visualizzare
            
    }
            else die (
    "Accesso Negato");
        
    ?>
    E' un esempio molto rozzo ma è una base su cui lavorare....

    Sicuro che bisogna scomodare le sessioni per una cosa simile?
    HTTP è senza stato, quindi una volta che il server ha risposto ad una richiesta da parte di un client, non conserva informazioni... l'unico modo per conservare tali informazioni è memorizzarle in una variabile di sessione, che ad ogni pagina (php) deve essere richiamata per verificarne l'esistenza. questo metodo ti garantisce di propagare uno stato (quello di autenticazione) attraverso piu pagine dell'applicazione.

    C'è un altro modo (banale) per ottenere lo stesso risultato, ovvero utilizzando i Cookie.... ma non sto qui a spiegartelo....anche perche se qualche utente piu esperto di me (e ce ne sono tanti), legge che ti ho consigliato anche i cookie, mi spara a vista
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  5. #5
    Non riesco a capire come fare...

    Mi piacerebbe incominciare a creare una pagina dove si debbano inserire una password ed una user name con un pulsante in fondo con scritto "Vedi l'ecommerce".
    Se la password e la user sono giuste l'utente va a questa pagina:
    http://balestra.netsons.org/ecommerce/prestashop/1250
    altrimenti no.

    Ho scritto qualcosa ma non so come salvare quello che si scrive nel tag input all'interno di una variabile che poi possa essere esaminata.

    Ti faccio vedere gli sviluppi:

    ecommerce.php

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Documento senza titolo</title>
    </
    head>
    <
    body>
    <
    form method="post" action="indirizza.php" name="form_send">


    User</p>
    <
    input type="text" name="user" class="user"/>


    Password</p>
    <
    input type="text" name="password" class="user"/>
    <
    input type="submit" value="Visualizza l'ecommerce"/>
    <
    form/>
    </
    body>
    </
    html
    indirizza.php

    Codice PHP:
    <?php
    sessione_start
    ();
    if (
    $_SESSION(user)==romanito;){
    if (
    $_SESSION(password)==a45g;){
    echo
    '<script type="text/javascript">';
    echo
    '/*<![CDATA[*/';
    echo
    'location.href = "http://balestra.netsons.org/ecommerce/prestashop/1250";';
    echo
    '/*]]>*/';
    echo
    '</script>';

    else die (
    "Accesso Negato");
    else die (
    "Accesso Negato");
    ?>
    Grazie ancora
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  6. #6
    nel file php devi fare una cosa del genere
    Codice PHP:

    $user 
    $_POST['user'];
    $pass $_POST['password'];

    if ((
    $user == 'romanito')&&($pass == 'a45g')) {

        
    session_start();
        
    $user sha1($user); //cripto l'username per sicurezza
        
    $_SESSION['login'] = $user;


        
    //CI METTI IL CODICE DELLA PAGINA

    }
    else die (
    "Credenziali non valide"); 
    in ogni pagina in cui vuoi propagare lo stato di autenticazione devi poi inserire
    Codice PHP:
    session_start();
    if (isset(
    $_SESSION['login']) {

        
    //CI METTI IL CODICE DELLA PAGINA

    }
    else die (
    "Accesso negato"); 
    altrimenti uno potrebbe bypassare il form di login inserendo nella barra degli indirizzi, l'url di una pagina a cui non potrebbe accedere
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  7. #7
    Dunque ti posto il codice completo così ci dai un'occhiata. Non capisco perché non funge... Sono sconfortato...

    ecommerce.php

    Codice PHP:
    <?php
    session_start
    (); 
    if (isset(
    $_SESSION['login']) {
    echo 
    '

    Siete entrati nell\'ecommerce!</p>'
    ;
    echo 
    '

    </p>'
    ;
    }
    else {die (
    "Accesso negato");}
    ?>
    index.php

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    <
    html xmlns="http://www.w3.org/1999/xhtml"
    <
    head
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <
    title>Documento senza titolo</title
    </
    head
    <
    body
    <
    form method="post" action="indirizza.php" name="form_send"


    User (romanito)</p
    <
    input type="text" name="user"/> 


    Password (balestra)</p
    <
    input type="text" name="password"/> 
    <
    input type="submit" value="Visualizza l'ecommerce"/> 
    <
    form/> 
    </
    body
    </
    html
    indirizza.php

    Codice PHP:
    <?php 
    $user 
    $_POST['user']; 
    $pass $_POST['password']; 

    if ((
    $user == 'romanito')&&($pass == 'balestra')) { 

        
    session_start(); 
        
    $user sha1($user); //cripto l'username per sicurezza 
        
    $_SESSION['login'] = $user


    echo
    '<script type="text/javascript">'
    echo
    '/*<![CDATA[*/'
    echo
    'location.href = "http://balestra.netsons.org/esempio/ecommerce.php";'
    echo
    '/*]]>*/'
    echo
    '</script>'


    else die (
    "Credenziali non valide");
    ?>
    non so dove possa essere l'errore... mah...

    ciao e grazie

    P.S.: I codici pari pari a come sono sui miei file non riesco a scriverli... non conosco il motivo...
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  8. #8
    Speravo che mi dessi qualche aiuto in più comunque vorrei ricordarti che io non sono in grado di mettere mano al mio ecommerce e soprattutto non voglio farlo per non compromettere i futuri aggiornamenti. A me serve una pagina dove l'utente inserisce un nome ed una password e qualora esse siano giuste venga indirizzato alla mia pagina di ecommerce "/prestashop/index.php".
    Non capisco questo a cosa ti serva, visto che, per quanto non conosca Prestashop, ogni CRM/CMS ha una sezione di amministrazione già protetta da password di accesso.
    Non ti resta che accedere al sistema come administrator e creare un numero X, ristretto, di utenti che possano modificare le pagine.
    Comunque, Mr.Click si è dimenticato di dirti che per creare un numero ristretto di utenti in una determinata pagina, ti serve un database dove andare a registrare quantomeno il nome utente e la password di accesso.
    Il confronto di quanto inserito nella form di login, sennò come lo fai?
    Le sessioni ti servono per propagare un determinato codice identificativo dell'utente tra le varie pagine ad accesso ristretto.
    In ognuna di queste pagine dovrai quindi andare a controllare che l'identificativo che hai salvato nella sessione sia corretto e corrisponda alla persona che "lo porta a spasso".
    Non è un lavoro difficile, di per sé, ma non devi neanche pensare che sia una cosa che si risolva in poche righe di codice.
    Tu stai parlando di un ecommerce, per cui un sito dove chi entra lascerà dei soldi e quindi chiede che non ci siano frodi o hacking vari!
    Negli esempi che ti sono stati portati non vedo neanche un minimo di filtraggio degli input, né di controllo doppio sulle credenziali.
    Insomma.... se avessi un sitarello per giocare ed esercitarti con il PHP starei zitto, ma visto che a te serve qualcosa di professionale ti dico: lascia stare gli scriptini amatoriali... peraltro manco corretti (il session_start va messo ad inizio pagina, non dove si pensa possa servire)!
    Il mio consiglio è: vuoi esercitarti con il PHP?
    Bene: prima studiatelo!
    Come seconda cosa, comincia a creare degli scriptini semplici, poi complicali sempre di più!
    Fare una sezione ristretta per un un ecommerce, vedrai che è l'ultima delle cose che andrai a programmare.
    Ah... per farti un'idea: in queste pagine trovi anche la
    Guida sicurezza di PHP.
    Ci sono molti esempi di hacking vari e soprattutto i metodi per evitarli!

    L'altra tua domanda, invece non è semplice da rispondere.
    L'uso di strumenti come quelli che hai linkati, per siti di tipo dinamico come un ecommerce, non fa scaricare i file nel senso stretto, ma i file generati dal server.
    Per capirci, se hai una pagina che crea il catalogo del sito, il programma scarica tutte le possibili pagine generate dinamicamente, ma solo nel senso dell'HTML generato dal server, quidni non i file che tu hai fisicamente caricato via FTP.
    Spero di essermi spiegato.
    Nel qual caso chiedi ancora che cercherò di risponderti un po' più ampiamente.
    Se avessi delle basi di PHP, comunque mi capirai al volo.
    Se invece per download di file intendi che non vuoi che, ad esempio digitando nel browser l'indirizzo completo di una immagine presente nel tuo sito, si possa scaricare qualcosa allora devi usare il file .HTACCESS.
    Cerca informazioni via google o in questo forum per saperne di più.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Comunque, Mr.Click si è dimenticato di dirti che per creare un numero ristretto di utenti in una determinata pagina, ti serve un database dove andare a registrare quantomeno il nome utente e la password di accesso. Il confronto di quanto inserito nella form di login, sennò come lo fai?
    Hai ragione...ma lo avevo dato per scontato.........ma alla fine tanto scontato non è
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  10. #10
    Siete davvero gentilissimi! Non so come ringraziarvi! Io volevo impedire l'accesso ai prezzi perché molti prodotti non sono destinati al pubblico ma a fornitori. Dato che non posso fare quello che avevo intenzione all'inizio e non ne ho le competenze ho deciso di seguire un'altra strada più semplice, meno sicura ma almeno non sciocca.
    Per spiegarvi questa seconda idea supponete che nel file ecommerce.php non ci sia un'index di un crm ma una pagina in html + css con in vista il link all'ecommerce.
    E' chiaro che se un utente esperto ci infila dentro il muso si fa 2 risate ma almeno impedisco all'utente ignorante, io compreso, di vedere quello che non voglio venga vista almeno senza un minimo di sforzo.
    Per semplificare maggiormente la questione pensavo di dare l'accesso alla pagina con i link mediante l'inserimento di una user e di una password costanti per tutti i fornitori.
    Il mio sito non ha affluenza da parte di terzi però se uno passa di li per vedere l'ecommerce deve fare almeno un minimo di sforzo e non ha tutto a portata di mano bello che pronto.
    Inoltre dover inserire la password e la user per accedere ad una zona del sito é decisamente meglio che dover digitare l'url nel browser.
    In oltre potrei utilizzare questo script per rendere meno accessibili alcune informazioni (news, progetti, normative, ...).
    Ovviamente il discorso vale solo per l'utente di passaggio che transita in quelle parti del sito di corsa ed é disposto a curiosare solo se ciò non le comporta un disturbo.
    In tal caso come dovrei modificare lo script affinché funzioni su ogni browser? Non deve essere sicuro ma mi basta vedere che funzioni. Conosco anche qualche rudimento di php ad oggetti se necessario...
    Spero che riusciate a trovare l'errore, non chiedo altro. Vi ringrazio in anticipo.

    Un caro saluto a tutti quanti
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.