Newsgroup: it.comp.programmare
Titolo: CARATTERI SPECIALI-FORM-CALUNNIE

ragazzi, son sempre io!!! ;-) SCUSATE la mia massiccia dose di post:
1)
esiste uno script (magari php, altrimenti javascript) che mi permette di
controllare che nei campi del form (TUTTI) non vengano inseriti caratteri
speciali tipo ><!'"&$%*/ e quanto altro? se sģ, potete gentilmente indicarmi
i links da dove scaricarlo?
2)
come posso farmi inviare automaticamente tramite form anche l'IP della
persona che sta compilando il form? č legale? lo posso fare?
ho provato con
'HTTP_X_FORWARDED_FOR'
e
'REMOTE_ADDR'
ma mi danno ambedue la stessa cosa, e cioč l'IP del server dal quale viene
inviato il form.
a me occorrerebbe l'IP della persona che sta inviando il form... per
questioni di sicurezza su quanto dichiara nel form, visto che saranno dati
che poi dovranno essere pubblicati.
esempio: se TIZIO compila il form e scrive che CAIA riceve per appuntamento
in Via Tal dei Tali, con tanto di numero di telefono di CAIA... DEVO
TUTELARE CAIA e devo TUTELARE ME prima di pubblicare quei dati.
credo che l'unica valida maniera sia individuare l'IP del TIZIO che invia il
form in modo che possa essere rintracciabile nel caso in cui DICHIARI IL
FALSO o peggio ancora... sia un CALUNNIATORE.
grazie in anticipo a tutti coloro che vorranno fornirmi delle informazioni,
buona domenica,
Marco.

inviato il form.
Prova X_CLIENT_IP. La sicurezza non l'avrai mai, ma:
	- se c'e' X_CLIENT_IP usi quello
	- se no, se c'e' X_FORWARDED_FOR usi quello
	- se no, REMOTE_ADDR
...e anche cosi', un proxy anonimo ti frega.
Unica soluzione sicura (e nemmen tanto), obblighi ad una registrazione
con email, invii una email con utente/password e chiedi una replica in
modo da proseguire.
In questo modo nella email che ti arriva ci sara' un IP migliore, o se
sei sfortunato l'IP del web client usato dal malfattore - che cosi' ti
avra' fregato di nuovo.
E' un mondaccio :-)
Leonardo
-- 
Nach doiligh domhsa mo chailin a mholadh
'S ni he amhain mar bhi si or
Bhi si mar gath greine a dhul in eadan na gloinne
Is bhi sceimh mhna na finne le mo cailin or

 E' un mondaccio :-)
grazie Leonardo.
sempre preparatissimo!!!
COMPLIMENTI!
ho adottato la soluzione che mi hai consigliato (preg_match).
OTTIMA!
l'unico inconveniente che ho trovato è questo:
tra i caratteri da limitare volevo inserire anche "?" ed "&", ma purtroppo
per il "?" non lo riconosce affatto e non lo filtra, mentre per la "&" mi
blocca tutto e non mi fa inviare neanche semplice puro testo composto
esclusivamente da lettere.
sarà che interpreta gli spazi come &nbsp (o qualcosa di simile) ?!?!?!
altro piccolo inconveniente è questo:
il file php mi diventa di dimensioni spropositate se inserisco i vari
controlli per tutti i campi da inserire (circa 8 aree lasciate per
inserimento dati form).
mi aumenta di circa 10Kb per ogni campo.
in sostanza mi diventa un file PHP di dimensioni pari a circa 100 Kb.
purtroppo sono costretto ad inserire un carattere per ogni preg_match.
quindi più caratteri mi richiedono più preg_match per ogni campo.
credi che sia sufficiente limitare solo questi caratteri per evitare danni ?
< > ! $ % & @ { } [ ] @ # ? ; |
p.s.
non riesco a far riconoscere " e ' come caratteri speciali da limitare.
mi da un errore sulla X LINE del file PHP.
grazie ancora Leonardo.
buona serata,
Marco.

mi da un errore sulla X LINE del file PHP.
Sempre negli esempi, scoprirai quando occorre l'escaping \ d'un carattere
(come ho fatto io piu' sopra con 'messaggio'), e quando \\ e quando \ :-)
