##################################################################### ## Script in perl "segnala_sito v.1.2 ita" ## ## Per server con sistemi linux e unix ## ## ## ## © Copyright Marco Allegretti "shishii". ## ## Ciao, puoi usare questo script gratuitamente. ## ## ## ## Se vuoi utilizzarlo devi lasciare intatti i link presenti nello ## ## script e nella pagina html in cui vi è il form. ## ## ## ## Non puoi venderlo o cederlo in cambio di qualcosa senza il mio ## ## consenso scritto preventivo. ## ## ## ## Puoi contattarmi presso shishii@tiscalinet.it ## ## Il mio sito è www.shishii.com ## ## Ciao! ## ##################################################################### ## La versione 1.2 differisce dalla 1.1 esclusivamente per ## ## l'ottimizzazione del codice. Se hai già istallato la 1.1 e vuoi ## ## effettuare l'upgrade è sufficiente che sovrascrivi il file ## ## segnala_sito.cgi che trovi nello zip a quello precedente. ## ##################################################################### I files che troverai nel file compresso sono: 1) segnala_sito.cgi 2) segnala_sito.html 3) segnalalog.html 4) contatore.txt 5) readme.html ##################################################################### segnala_sito.cgi Si tratta di uno script in perl funzionante su server con sitema operativo LINUX o UNIX che consente di fare inviare, ad un visitatore, una email di segnalazione del tuo sito ad un suo conoscente. Rispetto a molti script di questo tipo "segnala_sito v. 1.1 ita" si distingue per essere scritto in lingua italiana e dotato di molte opzioni aggiuntive. Alcune di queste attengono alla sicurezza. Infatti senza di queste potrebbe verificarsi che il tuo script, residente sul tuo server, venga utilizzato per scopi illeciti, come ad es. spamming, diffamazione, ingiurie, ecc. Quindi è possibile impedire che lo script venga usato abusivamente da altri siti, è possibile monitorare l'attività dei suoi utilizzatori facendoti inviare una email di controllo automatica. E' possibile registrare i dati di chi lo usa. In un file di log vengono registrati: - IP del provider usato dall'utilizzatore - IP dell'utilizzatore - Dati sull'username di colui che ha autenticato gli script, se il server supporta questa funzione - Dati sul browser e il sistema operativo dell'utilizzatore - Indirizzo email e nome del mittente - Indirizzo email del destinatario - Data di invio (orario del server su cui è il tuo sito) A causa della quantità di dati loggati il relativo file dopo 100 utilizzi pesa 30Kb, quindi se lo script fosse utilizzato da un sito di successo dopo un pò di tempo il file segnalalog.html acquisterebbe dimensioni eccessive. Per cui è possibile utilizzare una procedura di svuotamento ed archiviazione automatica tramite email. Altre opzioni sono di comodità. Puoi decidere se, dopo l'invio dell'email, reindirizzare il visitatore ad una tua pagina di ringraziamento, oppure utilizzare la pagina di ringraziamento generata automaticamente dallo script. In questo secondo caso puoi settare il font, il suo colore, la dimensione, il colore o un'immagine di sfondo, l'inserimento o meno su questa pagina di un link ad una di uscita. Ho deciso di non fare effettuare il controllo dei campi del form allo script, per non appesantirlo troppo, a tal fine nel file allegato "segnala_sito.html" troverai già settato un JavaScript di validazione che svolge la stessa funzione. Vediamo adesso come configurare e istallare lo script. ########################################################################### Configurazione (quelli riportati sono esempi): Per modificare lo script ricordati di usare un editor che non inserisca caratteri di formattazione particolari e che salvi con estensione .txt, come ad esempio blocco note di windows. Ovviamente puoi anche usare editor specifici per il perl. --------------------------------------------------------------------------------------- Per prima cosa devi settare l'indirizzo dell'interprete di perl del tuo server in genere è: #!/usr/local/bin/perl oppure #!/usr/bin/perl se non lo conosci devi chiederlo all'amministratore del tuo server. --------------------------------------------------------------------------------------- Devi poi settare le seguenti variabili: $mailprog Qui devi inserire il path del programma di invio posta del tuo server in genere è: $mailprog = '/usr/lib/sendmail'; se non lo conosci devi chiederlo all'amministratore del tuo server. $avviso = 'shishii@tiscalinet.it'; Qui devi inserire il tuo indirizzo email --------------------------------------------------------------------------------------- $redirection = 0; Se dopo che il messaggio è stato inviato vuoi ringraziare l'autore inviandolo direttamente ad una tua pagina html già pronta setta la variabile $redirection a 1, se invece la setti a 0 verrà generata una pagina di ringraziamento standard. Nel primo caso devi indicare nella variabile $redirectionurl l'indirizzo completo web della tua pagina di ringraziamento, ad es: $redirectionurl = "http://www.shishii.com/uscitaform.html"; --------------------------------------------------------------------------------------- $bgcolor = "#ffff80"; $background = "http://www.shishii.com/form_file/sfondo3sa.gif"; $font = "Comic sans MS"; $size = "5"; $color= "#0000ff"; $ritorno = 0; $url_rit = "http://www.shishii.com/entrataform.html"; Nel caso tu abbia deciso di utilizzare la pagina di ringraziamento standard settando la variabile $redirection=0 la puoi in parte personalizzare: - regolando il colore dello sfondo con il codice dei colori web esadecimale ad es: "#xxxxxx". - inserendo un'immagine di background, ricordati di fornire l'url completo. - il font che preferisci, nel caso ne voglia inserire più di uno ricordati di separarli così "arial,courier". - la dimensione del font. - il colore del font. - puoi inserire un link ad una pagina successiva settando $ritorno=1, ed indicando in $url_rit il suo url completo. Se invece setti $ritorno=0 il visitatore dovrà usare il tasto back del browser. ------------------------------------------------------------------------------------------ $uselog = 1; $segnalalog = "/usr/home/shishii/www/segnalalog.html"; $canclog = 1; $contatore = "/usr/home/shishii/www/contatore.txt"; $insert = 10; Se vuoi monitorare per motivi di sicurezza, l'attività effettuata tramite questo script setta la variabile $uselog a 1. Altrimenti settala a 0. Nel primo caso lo script scrive nel file "segnalalog.html" ad ogni invio di messaggio i dati dell'utilizzatore, l'orario e la data. Questo file è da te consultabile on-line ad es: all'indirizzo web www.tuosito.com/segnalalog.html, se tu lo inserisci nella directory principale. Nel caso in cui scegli 1 devi indicare nella variabile $segnalalog il path di sistema del file segnalalog.html. Se setti a 1 la variabile $canclog il file segnalalog.html viene automaticamente svuotato ogni volta che viene raggiunto un numero di utilizzatori pari alla variabile $insert. I dati non vengono perduti perchè lo script te li invia automaticamente per email prima di cancellarli. E' necessario inserire il path di sistema del file contatore.txt che è il database in cui viene memorizzato il numero di utilizzi. ------------------------------------------------------------------------------------------ $mail = 1; ATTENZIONE MOLTO IMPORTANTE!!! Se setti ad 1 la variabile $mail riceverai una copia del messaggio inviato tramite il tuo script, se la setti a 0 questa seconda email non sarà generata. Se scegli la prima possibilità per la legge italiana sei obbligato ad avvisare il visitatore tramite la pagina html di invio del messaggio, in quanto leggerai la sua corrispondenza indirizzata ad altra persona e ciò senza il suo consenso è reato. Nel caso tu desideri ricevere l'email di avviso devi indicare nella variabile $avviso il tuo indirizzo. ------------------------------------------------------------------------------------------ $url_sito = "www.shishii.com"; Questa variabile serve ad inserire automaticamente l'url del tuo sito nell'email che viene inviata. ------------------------------------------------------------------------------------------- @autorizzati = ('www.shishii.com','216.121.175.21'); Questo array serve ad evitare che qualcuno utilizzi questo script senza autorizzazione da un altro sito. Devi inserire l'url o l'indirizzo IP dei siti autorizzati ad utilizzare lo script istallato sul tuo server. ------------------------------------------------------------------------------------------- $flock = "si"; Impedisce che chiamate multiple corrompano i files di log. Se il tuo server non dovesse supportare la funzione di "file locking" (flock) allora settala a "no", altrimenti è caldamente raccomandato non toccare il settaggio "si". ############################################################## Istallazione: ------------------------------------------------------------------------------------------- Dopo che hai settato correttamente le variabili devi trasferire lo script sul tuo server. Va inserito in genere nella cartella cgi-bin o cgi-tuonome. ricordati di fare l'upload con un programma di trasferimento files "FTP" in modalità ASCII, altrimenti il sistema genererà un "error 500". Devi attribuirgli chmod 755. ############################################################### segnala_sito.html Si tratta della pagina html che contiene il form di invio. Contiene inoltre due funzioni JavaScript: setfocus; Validate; La prima serve a fare posizionare il cursore del mouse nella prima casella del form e viene evocata dal gestore degli eventi "onLoad" contenuto nel tag <BODY>. La seconda serve a verificare, in certi limiti, la correttezza formale e la presenza dei campi obbligatori che sono: mailto: indirizzo del destinatario; mailfrom: indirizzo del mittente; fromname: nome del mittente; viene attivata dal gestore degli eventi "onSubmit" contenuto dal tag <FORM>. E' fondamentale settare bene l'indirizzo dello script contenuto in: <FORM type="post" action="http://www.tuosito.com/cgi-bin/segnala_sito.cgi" onSubmit="return Validate1(this)" name="segnala_sito"> E' possibile che tu disponga di una cartella cgi-tuonome invece di cgi-bin. Se non sei sicuro chiedi all'amministratore del tuo server. ATTENZIONE IMPORTANTE!!! Nel caso in cui tu abbia scelto di ricevere l'email di avviso ti consiglio di non rimuovere la dichiarazione che avverte il visitatore di tale situazione. Come detto all'inizio se vuoi utilizzare gratuitamente questo script non devi rimuovere le righe: <DIV ALIGN="center"> <font size="3" color="#000000" face="Comic sans MS,verdana,times new roman"> Script "segnala_sito v. 1.1 ita" realizzato da <a href="http://www.shishii.com">Shishii</a> . <br> Se ti interessa averlo scrivi a <a href="mailto:shishii@tiscalinet.it">shishii@tiscalinet.it</a> . </font> </DIV> Se la formattazione non è di tuo gusto puoi modificarla a piacere, ma il testo deve rimanere identico e possibilmente deve avere visibilità simile. Egualmente non devi eliminare i link inseriti nelle pagine generate automaticamente dallo script. In fondo non mi sembra un prezzo eccessivo per il mio lavoro! Se invece vuoi usare lo script senza link devi contattarmi. Ci metteremo d'accordo. ##################################################################### segnalalog.html Questo file è in pratica un database degli utilizzi di questo script. Ogni volta che viene inviata una segnalazione tramite esso, viene identificato i dati del visitatore e viene archiviato in questo file, accompagnato dalla data e ora. Tieni presente che però data ed ora sono quelli del server su cui è il tuo sito. Questo è un esempio: - REMOTE_HOST: to1-157.dialup.tiscalinet.it (indirizzo del provider) - REMOTE_ADDR: 62.10.34.157 (indirizzo dell'utilizzatore) - REMOTE_USER: (dati di chi sta usando il server se qu esto è predisposto) - HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98) (dati sul PC dell'utilizzatore) - Inviato da: Marco email: shishii@libero.it - A: shishii@tin.it [il Sabato, Agosto, 26, 2000 alle 02:28:53] Questo file ti consente, entro certi limiti, di risalire ad eventuali utilizzatori scorretti o quanto meno di dimostrare la tua buona fede. Come già detto, se sei un irriducibile sostenitore della privacy, puoi disabilitare questa funzione ($use_log=0;), in tal caso è inutile che istalli questo file sul server. Questo file è consultabile on-line. Se viene inserito nella directory principale del sito (quella della homepage) l'indirizzo è: www.tuosito.com/segnalalog.html Ogni 100 utilizzi il file pesa 30kb per evitare una crescita eccessiva, come già detto è prevista una procedura di svuotamento automatica dopo un numero di utilizzi pari alla variabile dello script $insert. I dati ti verranno inviati con una email automatica per l'archiviazione. Dopo avere istallato il file sul server devi attribuirgli: chmod 666 ################################################################ contatore.txt Questo è un file che funge da database per tenere il conto degli utilizzi dello script e consentire lo svuotamento automatico del file segnalalog.html. Non necessita di tuoi interventi. Dopo avere istallato il file sul server devi attribuirgli: chmod 666 ############################################################### Ti ringrazio per la preferenza e se hai dei problemi nell'uso di questo script contattami. Ciao e buon lavoro! Marco Allegretti "shishii"
Script "segnala_sito v. 1.2 ita" realizzato da Shishii .
Se ti interessa averlo scrivi a shishii@tiscalinet.it .