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

    Impedire accesso ad alcune pagine agli utenti non registrati...

    Ciao, volevo sapere qual è la soluzione migliore per negare la visualizzazione di alcune pagine del sito agli utenti non autorizzati...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A parte che non ci sono tantissimi metodi, comunque l'autenticazione lato server (tipo questo forum per esempio leggere i post è libero se vuoi postare devi essere logato)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    A parte che non ci sono tantissimi metodi, comunque l'autenticazione lato server (tipo questo forum per esempio leggere i post è libero se vuoi postare devi essere logato)
    Mi dai qualche esempio di codice ... o mi indirizzeresti a qualche tutorial??

    PS
    É da parecchio che non uso PHP, però se non erro dovrei usare le sessioni...
    Comunque vorrei fare che, solo l'utente che ha l'autorizzazione può accedere ad una risorsa... ora non sono al pc, dopo provo a spiegarmi meglio....

    Per fare l'esempio con questo forum, si può fare che solo l'utente che apre il topic riesca ad accedervi?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cerca qui quello che più si addice alle tue esigenze
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Lo script di registrazione già ce l ho

  6. #6
    Scusate, cerco di spiegarmi meglio...
    Avete presente la bacheca di facebook (il nostro profilo?!)
    Possiamo decidere se renderlo visibile solo a noi stessi o al pubblico.. io voglio creare una cosa simile...
    Nel database registro tramite un booleano se l'area è pubblica o privata(solo per l'utente proprietario)

    Peró poi come posso verificare e gestire il tutto da PHP?

  7. #7
    Editato, non avevo capito bene il problema.
    Fai così: crea un campo nel database: 'pubblico(varchar, 2)'.
    Dopo nella pagina modifica profilo tramite una selezione per check metti 2 opzioni: si e no(in questo modo il campo potrà avere solo 3 opzioni: si, no, oppure vuoto, dipende da come hai fatto lo script di registrazione).
    Dopo che gli utenti si sono registrati dovresti ottenere l'effetto voluto con questo script:
    Codice PHP:
    //tramite get prendi le informazioni della persona alla quale è legata il profilo(faccio l'esempio solo con id)
    $id $_GET['id'];
    $select "SELECT pubblico FROM utenti WHERE id=$id";
    $query mysql_query($select);
    $array mysql_fetch_array($query);
    //il campo pubblico contiene si o no alla visione del propio account da parte di terzi
    if ($array == 'si'){
    //fai vedere tutta la pagina 
    }else{
    //mostra messaggio:pagina privata
    }

    //oppure in alternativa puoi fare così
    $pubblico $_GET['pubblico'];
    if (
    $pubblico == 'si'){
    //fai vedere tutta la pagina 
    }else{
    //mostra messaggio:pagina privata

    Ovviamente dipende da come è strutturato il tuo sito, immagino che metterai gli utenti (almeno i profili e simili) ripescabili con dei filtri, e non ognuno con una pagina propia()ogni utente la propia pagina.php)....
    Comunque se utilizzi il secondo metodo con $pubblico sappi che potebbero cambiare nell'indirizzo il no con un si e aggirare quello che hai fatto.
    Spero di averti illustrato bene il metodo base per fare quello che chiedi in php.

  8. #8
    Invece per impostare che l'utente proprietario la veda a prescindere dal pubblico o meno?


    PS, per risolvere il ""Comunque se utilizzi il secondo metodo con $pubblico sappi che potebbero cambiare nell'indirizzo il no con un si e aggirare quello che hai fatto."" mi basterebbe rendere il GET un POST?

    Premetto che ho un normale script di registrazione che usai tempo fa, devo ancora aggiungere questa opzione (pubblico/privato), sto aspettando di avere tutte le notizie cosi faccio tutto insieme





    Comunque Si, ogni utente ha una cartella con il proprio file...
    es:
    sito.com/utente1/
    sito.com/utente2/
    sito.com/utente3/
    però oltre al index c'è anche un file immagine, come faccio far in modo che tizio scrivendo
    sito.com/utente1/utente1.jpg
    non gli acceda? (se non sbaglio tramite .htaccess giusto? o consigli altro?!)

  9. #9
    Se vuoi che l'utente propietario possa vederlo in tutti i casi devi fare in modo che si attivi solo ad una determinata condizione:
    Codice PHP:
    $id $_GET['id'];
    $username $_GET['username'];
    //tralascio la parte in cui selezionii dati, visto che l'avevo già scritta prima
    if ($array == 'si'){
    //fai vedere tutta la pagina 
    }else{
    if(
    $array != 'si' AND $_SESSION['username'] == $username)){
    //fai vedere tutta la pagina
    }else{
    //mostra messaggio:pagina privata

    Il valore di $_SESSION['username'] puoi settarlo solo tu dalla pagina di login, quindi non possono manipolarlo, in questo modo solo se veramente l'utente ha fatto il login può vedere la pagina.
    Ti consigli di cambiare disposizione delle cartelle utenti in questa: sito.com/utenti/utente1, sito.com/utenti/utente2, ecc.
    Mi pare che .htaccess si usa per redirect e roba simile. In teoria puoi usare lo stesso metodo, anhce con le immagini legandole sempre al nome utente e al campo pubblico/privato.

  10. #10
    Originariamente inviato da _Marco_87
    Se vuoi che l'utente propietario possa vederlo in tutti i casi devi fare in modo che si attivi solo ad una determinata condizione:
    Codice PHP:
    $id $_GET['id'];
    $username $_GET['username'];
    //tralascio la parte in cui selezionii dati, visto che l'avevo già scritta prima
    if ($array == 'si'){
    //fai vedere tutta la pagina 
    }else{
    if(
    $array != 'si' AND $_SESSION['username'] == $username)){
    //fai vedere tutta la pagina
    }else{
    //mostra messaggio:pagina privata

    Il valore di $_SESSION['username'] puoi settarlo solo tu dalla pagina di login, quindi non possono manipolarlo, in questo modo solo se veramente l'utente ha fatto il login può vedere la pagina.
    Ti consigli di cambiare disposizione delle cartelle utenti in questa: sito.com/utenti/utente1, sito.com/utenti/utente2, ecc.
    Mi pare che .htaccess si usa per redirect e roba simile. In teoria puoi usare lo stesso metodo, anhce con le immagini legandole sempre al nome utente e al campo pubblico/privato.

    GENIALE... appena mi è possibile provo (devo ancor creare il db )
    Appena ho fatto faccio sapere!

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.