|
|
La pagina di iscrizione è la prima interfaccia del servizio con il mondo: deve spiegare cos'è il progetto e permettere l'iscrizione di nuovi utenti.
|
|
|
|
|
|
## Copy & Paste
|
|
|
La cartella `homepage/` del repo git contiene (quasi, leggi bene!) tutto quello che serve per avere una pagina di iscrizione funzionante, ovviamente a patto di avere già configurato un server web.
|
|
|
|
|
|
## Database
|
|
|
|
|
|
La pagina gestisce le registrazioni utilizzando un database mySQL ospitato eventualmente su un'altra macchina. Di seguito le operazioni da eseguire per MariaDB:
|
|
|
|
|
|
```sql
|
|
|
# mysql -u root -p
|
|
|
> CREATE DATABASE user_to_add;
|
|
|
> GRANT ALL ON user_to_add.* TO 'xmpp_registration'@'10.Y.Y.Y'; ## IP del server WEB
|
|
|
> SET PASSWORD FOR 'xmpp_registration'@'10.Y.Y.Y' = PASSWORD('MyPasswordGoesHereAndShallNotBeToldToAnyone');
|
|
|
> CREATE TABLE users (username VARCHAR(128), domain VARCHAR(128), password VARCHAR(128), token VARCHAR(128), status TINYINT,date date);
|
|
|
> SHOW TABLES; ## verifica che tutto sia OK
|
|
|
```
|
|
|
|
|
|
Il database è molto semplice: i campi username e domain contengono il nome utente e il dominio di registrazione, il campo password contiene **solo quella temporanea** generata dalla pagina di token (e che viene eliminata dal db non appena la pagina con le credenziali viene visualizzata dall'utente), il campo token contiene per l'appunto la stringa utilizzata dall'utente per ottenere la password, infine il campo status può avere valori 0=pending, 1=approved,-1=blocked.
|
|
|
|
|
|
Può succedere che questa operazione venga fatta quando ci sono già degli utenti registrati sul server. L'idea è quella di trascrivere questi username a quest'ultimo database, in modo da renderli indisponibili settando il loro status a 1. Ci sono diversi modi per farlo, nessuno di questo vi risparmierà esaurimenti nervosi e crisi esistenziali.
|
|
|
|
|
|
|
|
|
Nella cartella principale deve essere presente un file <code>credentials.php</code> contentente le informazioni necessarie per permettere alla pagina di registrazione di interagire con il database:
|
|
|
|
|
|
```php
|
|
|
<?php
|
|
|
$sql_servername = "10.X.X.X"; //"dbserver.eigenlab.org";
|
|
|
$sql_username = "xmpp_registration";
|
|
|
$sql_password = "MyPasswordGoesHereAndShallNotBeToldToAnyone";
|
|
|
$sql_dbname = "user_to_add";
|
|
|
?>
|
|
|
``` |
|
|
\ No newline at end of file |