Newsgroup: it.comp.www.asp
Titolo: Piccoli Webmaster Cattivi...

Trallalla' oh guarda, qualcuno che vuole votare un racconto sul sito che
amministro, chebbello!
Set conn = Server.CreateObject("ADODB.Connection")
'facciamo la connessione tralllalla...
  Voto=Request.querystring("voto")
  ID=Request.querystring("ID")
  V1=Request.cookies("scrivi")("V1")
'e controlliamo che non abbia gia' votato trallallaaaaaa'
  Dim Array(20)
  IF V1="" THEN
' se non c'e' il cookie vuol dire che ancora non ha votato, trallallaaaaaaa'
    dim currentIp
  currentIp=request.serverVariables("REMOTE_ADDR")
 'pero' mi segno il suo IP non si sa mai...
             Response.Cookies("scrivi").Expires=date+365
             Response.Cookies("scrivi").Path=""
             Response.cookies("scrivi")("V1")=ID
'e vediamo un po' chi ha votato prima di questo tizio per questo racconto...
  strQuery2="SELECT LastIP,giornoData,giornoOra FROM tblLavori WHERE ID="&ID
'facciamo 'o recordsett
  set Rs = server.createobject("ADODB.Recordset")
  Rs.open strQuery2,strprovider,3,3
  dim LastIp
  dim LastHour
  dim LastDay
'e segnamoci i dati...
  LastIp=Rs("LastIp")
  LastHour=Hour(Rs("giornoOra"))
  LastMinute=minute(Rs("giornoOra"))
  LastDay=Rs("giornoData")
'e adesso confrontiamo l'IP del precedente elettore...
  if LastIp=currentip then
    'toh, coincide? Vabbe' pero' il cookie non c'era, quindi sicuramente non
e' la stessa persona...
   if lastHour=giornoOra then
    ' ma guarda un po' due votanti con lo stesso IP lo stesso giorno...
succede, specie se vengono da tiscali o da TIN
    dim ctrl
    ctrl=giornoMinuto-lastMinute
     if ctrl<application("bribetime") then
        'ma che strano: in meno di 1 minuto due votanti con lo stesso IP
hanno scelto lo stesso racconto... "MMMMmmmmmm..... Ashamatan Ekhram Eton"
che in lingua pre-babilonese significa "MMMmmmmmm..... Qui gatta ci cova"
      rs.close
        'chiudiamo il RSet qui
      baro=1
        'vai caro, vai...
      response.redirect "
http://www.affanculo.org
"
        'chi conosce un posto migliore me lo indichi pure ^______^
     end if
   end if
  end if
'se invece il controllo e' stato negativo possiamo pure aggiornare il RS
  Rs.fields("LastIp").value=currentIp
  Rs.fields("giornoOra").value=giornoOra&"."&giornoMinuto
  Rs.Fields("giornoData").value=giornoData
  Rs.Update
  Rs.Close
  set Rs = nothing
'e liberiamo pure le risorse.
  ELSE
'se invece non c'era il cookie e il controllo era negativo possiamo
procedere col resto...
Piaciuto?
O, certo, in luogo del sito ameno di cui sopra potrei anche rimandare il
baro alla pagina da cui e' venuto, ma se sta usando un webbot preferisco che
a guadagnarci sia il sito di Roberto Quaglia...
^___________^
Vabbe' sono esaurito.
Come esempio per Recordset.Update non e' malvagio, pero'. Idem per
controllare gli accessi e i sondaggi quando ci sono i lamer che cancellano i
cookie.
Bacioni
Nettuno

 che in lingua pre-babilonese significa "MMMmmmmmm..... Qui gatta ci cova"
"Ok Ok chist' e' quakkun' che vuo' fo' o furbett'" che in lingua post
babilonese significa... ok cumpa' era proprio un furbetto!
Ciao, Fabio Zed

> succede, specie se vengono da tiscali o da TIN
^Z> Hai gia pensato ad un utilizzo condiviso dell'accesso dialup, o ad un proxy
^Z> a valle degli utenti, vero?
O  anche a chi  accede ad  Internet da  una internet  non direttamente
accessibile  (i.e.  Masquerading  a'la   Linux  o  NAT  dinamico  come
me...).  E' vero  che possiamo  non buttare  via i  cookie, ma  qui si
sarebbe quasi obbliggati a non farlo...
+----------------------------------------------------------------+
| Gian Uberto Lauri * "So, are you working on fixing that bug    |
| 
sa...@eng.it
      *  *now* or leaving it until later ?" - YES  |
+----------------------------------------------------------------+
| Attenzione: rispondo ad ogni invio di pubblicità non richiesta | 
| o spam di qualsiasi altro genere con un messaggio al provider  |
| di competenza. Ai sensi della legge sulla privacy NON avete il |
| permesso di utilizzare i miei dati per questi scopi.           |
+----------------------------------------------------------------+