Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Script PHP Captive Portal con registrazione utente via SMS
Vai a Precedente  1, 2
 
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell
Precedente :: Successivo  
Autore Messaggio
dadolo



Registrato: 09/02/16 23:39
Messaggi: 13

MessaggioInviato: Lun Mag 16, 2016 9:26 am    Oggetto: Re: Script PHP Captive Portal con registrazione utente via S Rispondi citando

Ciao xavier,
scusami per la risposta tardiva, ero fuori e non avevo accesso al pc dove ho il codice. Dunque... andiamo con ordine:
- dal punto 1) nella sezione 'Web Login Page Customization' troverai il bottone 'Template'
- una volta premuto il bottone 'Template', si apre una pagina con la preview del template che stai usando in questo momento
- dal secondo menu' a tendina che riporta la scritta 'Preview' seleziona la voce 'View source'
- ti riporto una parte di codice:
Codice:

  <table width=100% cellspacing=2 cellpadding=2>
  <tr><td width=35% align=right><ZS_TAG +cp_msg USERNAME>  </td><td><input type=text name=U size=35 onKeyPress="return CheckEnterKey(this,event)"></td></tr>
  <tr><td align=right><ZS_TAG +cp_msg PASSWORD>  </td><td><input type=password name=P size=35 onKeyPress="return CheckEnterKey(this,event)"></td></tr>
  <tr><td align=right><ZS_TAG +cp_msg DOMAIN>  </td><td><select name=Realm><ZS_TAG +cpListDomainsOptions></select></td></tr>

- a questo punto riporta il codice che ho riportato nelle istruzioni, qui un esempio (adattalo al tuo caso):
Codice:

  <table width=100% cellspacing=2 cellpadding=2>
  <tr><td width=35% align=right><ZS_TAG +cp_msg USERNAME>  </td><td><input type=text name=U size=35 onKeyPress="return CheckEnterKey(this,event)"></td></tr>
  <tr><td align=right><ZS_TAG +cp_msg PASSWORD>  </td><td><input type=password name=P size=35 onKeyPress="return CheckEnterKey(this,event)"></td></tr>
  <tr><td align=right><ZS_TAG +cp_msg DOMAIN>  </td><td><select name=Realm><ZS_TAG +cpListDomainsOptions></select></td></tr>

<tr><td align=right></td><td><br><input type=button value="<ZS_TAG +cp_msg NetworkAccess>" onclick="Authenticate()">       <a href="https://192.168.20.1/add-ons/zs_user.php?action=userpwd&ZSCPRedirect=<ZS_TAG _ZSCPRedirect>">Password dimenticata</a></td></tr>
  </table>
  <table width=100% cellspacing=2 cellpadding=2>
  <tr><td align=center><br>Se non hai un account, clicca sul seguente link per <a href="ttps://192.168.20.1/add-ons/zs_user.php?action=useradd&ZSCPRedirect=<ZS_TAG _ZSCPRedirect>">registrarti</a>.</td>
  </table>


Ricorda di sostituire l'ip 192.168.20.1 con quello del tuo CP, in accordo con lo schema di rete riportato nelle istruzioni del primo mio post.
Scusami ancora per l'attesa.
Top
Profilo Invia messaggio privato
xavier



Registrato: 23/02/14 22:19
Messaggi: 98

MessaggioInviato: Lun Mag 16, 2016 4:25 pm    Oggetto: Script PHP Captive Portal con registrazione utente via SMS Rispondi citando

dadolo ha scritto:
qui un esempio (adattalo al tuo caso)

Ora si che è tutto chiaro: i tuoi script consentono di aggiungere ad un template esistente la registrazione via SMS, non si sostituiscono integralmente ad un template.

E ad un mio template, realizzato per dare una veste grafica moderna al captive portal di un cliente che non voleva saperne di installare Zerotruth, è bastato aggiungere nel punto giusto le tue due righe di codice per avere subito qualcosa di funzionante.

92 minuti di applausi! Very Happy
Top
Profilo Invia messaggio privato
xavier



Registrato: 23/02/14 22:19
Messaggi: 98

MessaggioInviato: Lun Mag 30, 2016 9:44 pm    Oggetto: Re: Script PHP Captive Portal con registrazione utente via S Rispondi citando

Torno su questo thread perché mi sono nuovamente arenato, stavolta con un problema di certificati.

Le due chiamate agli script proposti vengono fatte con url di tipo httpS.

Ciò comporta che con qualsiasi browser mi appare sempre l'errore di sito non attendibile.

Ho già installato in ZS un certificato digitale per il dominio alfanumerico (del tipo nomemiosito.ddns.net, per capirsi), ma non so come comportarmi con l'indirizzo IP (del tipo 192.168.n.1) richiesto dalle due chiamate ai files php.

Questo succede anche se metto tra i free authorized services l'IP della macchina ZS, come consigliato qui.
Top
Profilo Invia messaggio privato
dadolo



Registrato: 09/02/16 23:39
Messaggi: 13

MessaggioInviato: Lun Mag 30, 2016 10:28 pm    Oggetto: Re: Script PHP Captive Portal con registrazione utente via S Rispondi citando

Ciao xavier,
il discorso certificati https e' un problema annoso, quello che puoi fare e' registrare sul dns che preferisci (anche dinamici) un A NAME che punta all'ip 'interno' del tuo CP; faccio un esempio (prendendo come riferimento lo schema di rete riportato nel mio primo pos)t:
192.168.20.1 --> miocp.ddns.net

dopodiche' come da primo punto della sezione 'Configurazione':

1) Dalla WEB-GUI di Zeroshell --> Users --> Captive Portal --> Authentication:
- modifica la 'Web Login Page Customization' in modo da inserire il link per la registrazione del nuovo utente ed eventuale cambio password, le url diventano:

Codice:
https://miocp.ddns.net/add-ons/zs_user.php?action=useradd&ZSCPRedirect=<ZS_TAG _ZSCPRedirect>


e

Codice:
https://miocp.ddns.net/add-ons/zs_user.php?action=userpwd&ZSCPRedirect=<ZS_TAG _ZSCPRedirect>


Devi naturalmente creare un certificato per miocp.ddns.net, certificato da una CA riconosciuta altrimenti il browser dell'utente si lamentera' sempre. Conosci un servizio gratuito per fare questo? Interessa anche a me Laughing

Spero di esserti stato di aiuto... un altro modo potrebbe essere quello di non usare https, ma poi e' quello che vuoi veramente? Qui possiamo aprire un dibattito perche' ci sto pensando su.
Top
Profilo Invia messaggio privato
gciacci



Registrato: 03/08/09 12:20
Messaggi: 85

MessaggioInviato: Mar Mag 31, 2016 11:12 am    Oggetto: Rispondi citando

Io ho provato ad usare CACert, rilasciano certificati validi e gratuiti, ma non tutti i browser riconoscono la certification authority. Alla fine sono passato a RapidSSL o NameCheap, prezzi minimi e servizio veloce, circa 10€/anno a certificato
Top
Profilo Invia messaggio privato
dadolo



Registrato: 09/02/16 23:39
Messaggi: 13

MessaggioInviato: Mar Mag 31, 2016 11:20 am    Oggetto: Rispondi citando

Interessante, prendo nota. Io uso StartSSL, gratuito un solo certificato con validita' annuale (testato su Chrome e Firefox e viene riconosciuta la CA).

Ho letto anche di Let's Encrypt, open con certificati mensili tramite script, ma non l'ho ancora provato.
Top
Profilo Invia messaggio privato
xavier



Registrato: 23/02/14 22:19
Messaggi: 98

MessaggioInviato: Mar Mag 31, 2016 1:10 pm    Oggetto: Rispondi citando

dadolo ha scritto:
Io uso StartSSL, gratuito un solo certificato con validita' annuale (testato su Chrome e Firefox e viene riconosciuta la CA).

Avevo pensato anch'io di usare StartSSL, ma alla fine ho preferito investire qualche euro ed appoggiarmi a Mega SSL Store.

Il certificato "PositiveSSL" costa 7 (sette) euro l'anno, finora perfettamente compatibile con tutti i browser.

dadolo ha scritto:
quello che puoi fare e' registrare sul dns che preferisci (anche dinamici) un A NAME che punta all'ip 'interno' del tuo CP


Questa la devo provare.

So (fumosamente) che ZS può fungere anche da server DNS, mi faccio una cultura sull'argomento (non so minimamente cosa sia un "A NAME" Embarassed) e poi casomai torno a chiedere.
Top
Profilo Invia messaggio privato
xavier



Registrato: 23/02/14 22:19
Messaggi: 98

MessaggioInviato: Mer Giu 01, 2016 8:40 am    Oggetto: Rispondi citando

RISOLTO!! Very Happy Very Happy Very Happy E la soluzione è di una semplicità disarmante: è bastato mettere in whitelist il dominio locale. Mr. Green

Spiegazione estesa...

Come già proposto da dadolo, anziché chiamare gli script php tramite un url che comprende l'IP della macchina ZS (https://192.168.n.1...), li chiamo tramite il nome del dominio (https://miosito.ddns.net o similari).

Avendo già installato un certificato funzionante per miosito, già così non ho più errori di certificato.

Ora, per "navigare" (= richiamare gli script php) nel mio sito, lo devo rendere fra quelli raggiungibili senza passare dal captive portal.

Per farlo vado in Captive Portal -> Authentication -> Shibbolet Authentication e imposto Status su Enabled. Deve apparire la scritta verde [Running].

Poi clicco su Config (il pulsante un po' più a destra) -> WAYF / IdP Whitelist e nella lista che appare aggiungo miosito.ddns.net (non serve mettere https:// davanti).

A questo punto le chiamate php funzionano.
Top
Profilo Invia messaggio privato
piccioz



Registrato: 05/07/16 20:13
Messaggi: 2

MessaggioInviato: Mar Lug 05, 2016 8:18 pm    Oggetto: Rispondi citando

salve ragazzi,
ho provato questo script ma non riesco a farlo funzionare a dovere.

Premetto che ho fatto alcune modifiche utilizzando l'email al posto del
cellulare nella registrazione ed eliminando la parte SMS.

Lo script mi registra l'utente ma continuo a ricevere accesso negato quando provo ad accedere, facendo alcune prove ho scoperto che selezionando l'utente appena creato e andando su kerberos, basta inserire la password e premere submit per farlo funzionare alla perfezione.

Dove sbaglio? potete darmi qualche dritta?

grazie infinite
Top
Profilo Invia messaggio privato
dadolo



Registrato: 09/02/16 23:39
Messaggi: 13

MessaggioInviato: Mer Lug 06, 2016 10:07 am    Oggetto: Rispondi citando

piccioz ha scritto:
salve ragazzi,
ho provato questo script ma non riesco a farlo funzionare a dovere.
......
Dove sbaglio? potete darmi qualche dritta?

grazie infinite


Hai per caso modificato correttamente anche la parte:

Codice:
dn: cn=$_SESSION[cellulare],ou=Radius,$dn
objectClass: organizationalPerson
objectClass: top
objectClass: radiusprofile
cn: $_SESSION[cellulare]
sn: $_POST[password]
dialupAccess: yes


in modo che venga settata la password associandola all'email dell'utente?
Top
Profilo Invia messaggio privato
piccioz



Registrato: 05/07/16 20:13
Messaggi: 2

MessaggioInviato: Gio Lug 07, 2016 11:10 am    Oggetto: Rispondi citando

si quella parte è stata modificata correttamente.

Ho risolto ripristinando la pagina login originale, avevo eliminato per sbaglio la select del dominio.

grazie ancora!
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell Tutti i fusi orari sono GMT + 1 ora
Vai a Precedente  1, 2
Pagina 2 di 2

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it