quello l'ho capito ma prima col vecchio sito nonostante le scansione dei bot non mi arrivavano le mail???? e c'erano anche molti meno controlli ( anche se solo in javascript ) non vorrei aver sbagliato qualcosa magari nella gestione dei bot o altro???????
Ciao,
Non sono gli spyware o spybot dei motori di ricerca ad inviarti le mail vuote ES:
None =
Cognome =
etc..etc..
Ma gli utenti che leggono il thread, qui e sui motori di ricerca, (molti cercano la gestione dei checkbox e per questo vedono questo thread),
il tuo WebSite è visibile sui vari motori di ricerca.
Ma il fatto di non avere controlli lato Server, basta sostituire appuntamenti.asp o contatti.asp con la URL
http://www.tuo_sito.it/contatti.asp semplicemente scrivendola nella barra degli indirizzi.
Altro metodo fare un copia/incolla del tuo <form inserirlo in una pagina html, disabilitare javascript e mettere un <input type submit>, al posto del submit ipertestuale (che è gestito da javascript), ti inviano email in locale dal loro PC.
Oltre al tuo sito ad essere indicizzato dai vari motori, anche questa pagina lo è, e contiene le informazioni necessarie per fare queste operazioni.
Nella pagina contatti.asp hai questo:
<meta name="robots" content="noindex">
<script>
document.location.replace('gcontatti.htm');
</script>
altro javascript per reindirizzare l'utente che ti ha inviato la mail a gcontatti.htm , se javascript è disabilitato in gcontatti.htm non ci arrivi mai,
usa un <%response.redirect("gcontatti.htm")%> , (ache se come è impostato adesso non serve a niente, bne in js che in asp il redirect viene fatto solo dopo aver inviato la mail)
<meta name="robots" content="noindex"> NO <meta name="robots" content="index, nofollow">
L'unico modo per risolvere in modo veloce è:
la pagina che contiene il form deve avere estenzione .asp mettere in un campo nascosto <input type="hidden"> un name qualsiasi e un campo value un codice asp <% controllami_questo %> dopo nella pagina che invia la mail inserire un'altro codice che controlla la pagina che contiene il form.
Se non passi per la pagina che contiene il form l'utente lo rimandi alla pagina di compilazione dati:
ES: pagina contenente il form pippo.asp pagina che invia la mail pluto.asp.
Se non passi per pippo.asp non è possibile inviare la mail in nessun modo, link diretto o form inviato in locale da casa.
Questo metodo per controllare la pagina di provenienza è una collection della garbage request.servervariables "HTTP_REFERER" la quale controlla la pagina di provenienza, basta una if di poche righe.
Codice:
<input type="hidden" name="conferma" value="<%= referer %>">
Da mettere sotto il <form> nella pagina che invia la mail (dove controlli che i dati provengano dalla pagina del <form>)
Nella pagina che invia la mail metti:
Codice:
<%
conferma=request.form("conferma") ' riferimento al name del campo <hidden
conferma=request.servervariables("http_referer") ' richiamo della collection request.servervariables("")
if conferma = "" then ' se la risposta è vuota "" non proviene dalla pagina del form
response.redirect "reindirizza.asp" ' reindirizzi l'utente dove vuoi tu (alla pagina del form)
end if
%>
Come già detto tutte le pagine, quelle che contengono i form devono avere estenzione .ASP
Senza controlli lato server questo è l'unico modo.
PS: non seguiranno altri script preconfezionati, ma solo info e delucidazioni sulle funzioni in asp da usare.
Un forum è fatto per correggere eventuali errori su script già fatti.
Saluti, Vale.