SPAM-esto

Onkos olemassa mitään parhaaksi todettua tapaa estää roskapostitus lomakkeelta?
Kehittelen formmaileria enkä haluaisi sähköpostini täyttyvän roskasta.

Mielessä on käynyt keksit mutta nehän on helppo poistaa käytöstä.
IP-esto ei tule kysymykseen koska joillakin saattaa olla sama ip(esim. saman proxyn takana) kun taas joillakin se vaihtuu suhteellisen nopeasti.
Sessioilla homma ei oikein hoidu koska jos id tulee keksistä niin se voidaan poistaa käytöstä ja jos id tulee urlin mukana sekin voidaan poistaa.

Parhaaksi ehdokkaaksi on noussut CAPTCHA menetelmä eli esim. pyytää lomakkeen täyttäjää kirjoittamaan
sotkuisessa kuvassa oleva merkkijono tai laskemaan jokin yksinkertainen laskutoimitus. Kuvamenetelmässä kuitenkin tulee kysymysmerkiksi näkövammaiset ja tekstipohjaista selainta käyttävät ihmiset ja laskutoimituksessa on omat heikkoutensa. Myöskin olisi tarpeellista estää useamman viestin lähetys lyhyellä aikavälillä johon CAPTCHA menetelmä ei oikein auta.
Sovelluksessani ei myöskään tule kyseeseen mikään käyttäjien registeröitynen vaikka tämä poistaisikin monta ongelmaa.

Kiitos vastanneille jo etukäteen
6857
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Vaikkapa yksi viesti IP-osoitteesta per 5min. Kun palaute lähetetään niin pistät aikaleimalla varustettuna IP-osoitteen tietokantaan. Tuota voi tietenkin jalostaa, että jos samasta IP-osoitteesta 3-viestiä 5 min aikana, niin IP-osoite hetkes ban listalle.

Tuo CAPTCHA ei kiva käyttäjän kannalta, sillä monessa ei ota selkoa onko 0 vai O jne... saatika onko isoilla ja pienillä kirjaimilla eroa, sit error on niinkin selkeä, että tunniste väärin.


"Kuvamenetelmässä kuitenkin tulee kysymysmerkiksi näkövammaiset ja tekstipohjaista selainta käyttävät ihmiset"

Mutta ovatko he todella sivusi kävijöitä?
Tutkippas huviksesi logejasi niin monta kävijää käyttää tekstipohjaista selainta?


Yksi käyttökelponen on pistää CSS:llä piiloon valintaruutu, kävijät ei tuota nää, mut Botit valitsevat kaikki jolloin on helppo heittää roskiin Bottien lähettämät viestit.

Äänestä
  • IP-esto on todellakin vaihtoehto mutta kuitenkin se fakta on ja pysyy että jotkut selailevat proxyn takaa ja joillakin on nopeastikkin vaihtuva ip.
    On tietenkin tosi että tuskin kovin montaa viestiä 5min sisään lähetetään maileristani joten törmäykset olisivat suhteellisen epätodennäköisiä.
    Kuitenkin törmäykset ovat mahdollisia ja jos maileriani käytettäisiin esimerkiksi jonkin yrityksen sivuilla niin moiset törmäykset voisivat tulla pitkällä aikavälillä kalliiksikin yritykselle kun selaileva asiakas ei saakkaan tarjouspyyntöään lähetettyä.

    "Mutta ovatko he todella sivusi kävijöitä?
    Tutkippas huviksesi logejasi niin monta kävijää käyttää tekstipohjaista selainta?"
    Epätodennäköistä mutta mahdollista.
    Myöskin jos maileriani tulevaisuudessa tultaisi käyttämään sivustolla jossa moiset kävijät eivät ole erikoisuus niin asiaa ei voi jättää huomioimatta. Samaa mieltä siinä että moiset viritykset ovat tympeitä kävijän kannalta joten CAPTCHA ei ehkä ole se paras mahdollinen tapa tässä projektissa.
    Tosin eihän siitä olisi haittaakaan jos lomakkeeseen sisällyttäisi kentän "päiväys" johon tulisi syöttää päivämäärä oikeassa muodossa, tähän tuskin botit kykenevät.

    Ehdotuksesi piilotetusta checkboksista on mielenkiintoinen, tätä voisi hyödyntääkkin.

    Kiitos vastauksesta

    Äänestä

  • alotteleva kirjoitti:

    IP-esto on todellakin vaihtoehto mutta kuitenkin se fakta on ja pysyy että jotkut selailevat proxyn takaa ja joillakin on nopeastikkin vaihtuva ip.
    On tietenkin tosi että tuskin kovin montaa viestiä 5min sisään lähetetään maileristani joten törmäykset olisivat suhteellisen epätodennäköisiä.
    Kuitenkin törmäykset ovat mahdollisia ja jos maileriani käytettäisiin esimerkiksi jonkin yrityksen sivuilla niin moiset törmäykset voisivat tulla pitkällä aikavälillä kalliiksikin yritykselle kun selaileva asiakas ei saakkaan tarjouspyyntöään lähetettyä.

    "Mutta ovatko he todella sivusi kävijöitä?
    Tutkippas huviksesi logejasi niin monta kävijää käyttää tekstipohjaista selainta?"
    Epätodennäköistä mutta mahdollista.
    Myöskin jos maileriani tulevaisuudessa tultaisi käyttämään sivustolla jossa moiset kävijät eivät ole erikoisuus niin asiaa ei voi jättää huomioimatta. Samaa mieltä siinä että moiset viritykset ovat tympeitä kävijän kannalta joten CAPTCHA ei ehkä ole se paras mahdollinen tapa tässä projektissa.
    Tosin eihän siitä olisi haittaakaan jos lomakkeeseen sisällyttäisi kentän "päiväys" johon tulisi syöttää päivämäärä oikeassa muodossa, tähän tuskin botit kykenevät.

    Ehdotuksesi piilotetusta checkboksista on mielenkiintoinen, tätä voisi hyödyntääkkin.

    Kiitos vastauksesta

    "fakta on ja pysyy että jotkut selailevat proxyn takaa ja joillakin on nopeastikkin vaihtuva ip. On tietenkin tosi että tuskin kovin montaa viestiä 5min sisään lähetetään maileristani joten törmäykset olisivat suhteellisen epätodennäköisiä."

    Aivan, mutta tuo ei aiheuta mitään ongelmaa. Voit tietenkin tehdä niin, että tietyt ehdot täyttävä viesti asetetaan karanteeniin esim samasta IP-osoitteesta tietyllä aikavälillä yli x viestiä, josta ylläpitäjä joko hyväksyy tai poistaa sen. Tällöin mitään tilausta ei menetetä vaikka se spammiksi luokiteltaisiin.


    "Kuitenkin törmäykset ovat mahdollisia ja jos maileriani käytettäisiin esimerkiksi jonkin yrityksen sivuilla niin moiset törmäykset voisivat tulla pitkällä aikavälillä kalliiksikin yritykselle kun selaileva asiakas ei saakkaan tarjouspyyntöään lähetettyä."

    Siis et käytä tuota yrityksen sivuilla?
    Tietenkin yrityksen sivuilta löytyy puh-numero sekä email osoite jota kautta tilauksen voi myöskin tehdä, joten tuossa mielessä tuo ei tule ongelmaksi. Ja ellei puh-numeroa ole, niin monesti moinen yritys ei herätä luottamusta.



    "Myöskin jos maileriani tulevaisuudessa tultaisi käyttämään sivustolla jossa moiset kävijät eivät ole erikoisuus niin asiaa ei voi jättää huomioimatta."

    Olet siis tekemässä maileria julkiseen levitykseen?
    Jos niin silloin spam-estoja kannattaa tehdä monenlaisia joista sitten asiakas valitsee itsellensä sopivan hallinta sivun kautta, mitään yleispätevää ei ole mikä sopisi joka tarkoitukseen.


    "Tosin eihän siitä olisi haittaakaan jos lomakkeeseen sisällyttäisi kentän "päiväys" johon tulisi syöttää päivämäärä oikeassa muodossa, tähän tuskin botit kykenevät."

    Tuo päiväys ei ole mielestäni hyvä juttu, jos esim tilaat ulkomailta niin silloin päiväys saattaa olla -1 päivä ja muotokin erillainen.

    Aikapitkälle botit pystyy estää tuolla piilotetusta checkboksilla, tekstilootalla jne... ja sitten IP-osoite jutulla, tietenkin voit lisätä vielä sanalistan jonka perusteella viesti asetetaan karanteeniin. Voi katsoa mallia email ohjelmista miten niissä nuo spammin tunnistukset toimii.

    Spammeja et kuitenkaan mitenkään kokonaan pysty estää, vain vähentämään. Ja muutama spammi ei ole ongelma. Ja jos suojauksen läpi pääsee spammi niin teet hallintasivuista sellasen mistä pystyy helposti lisäämään sen estolistaan jne...

    Äänestä

  • wewewe kirjoitti:

    "fakta on ja pysyy että jotkut selailevat proxyn takaa ja joillakin on nopeastikkin vaihtuva ip. On tietenkin tosi että tuskin kovin montaa viestiä 5min sisään lähetetään maileristani joten törmäykset olisivat suhteellisen epätodennäköisiä."

    Aivan, mutta tuo ei aiheuta mitään ongelmaa. Voit tietenkin tehdä niin, että tietyt ehdot täyttävä viesti asetetaan karanteeniin esim samasta IP-osoitteesta tietyllä aikavälillä yli x viestiä, josta ylläpitäjä joko hyväksyy tai poistaa sen. Tällöin mitään tilausta ei menetetä vaikka se spammiksi luokiteltaisiin.


    "Kuitenkin törmäykset ovat mahdollisia ja jos maileriani käytettäisiin esimerkiksi jonkin yrityksen sivuilla niin moiset törmäykset voisivat tulla pitkällä aikavälillä kalliiksikin yritykselle kun selaileva asiakas ei saakkaan tarjouspyyntöään lähetettyä."

    Siis et käytä tuota yrityksen sivuilla?
    Tietenkin yrityksen sivuilta löytyy puh-numero sekä email osoite jota kautta tilauksen voi myöskin tehdä, joten tuossa mielessä tuo ei tule ongelmaksi. Ja ellei puh-numeroa ole, niin monesti moinen yritys ei herätä luottamusta.



    "Myöskin jos maileriani tulevaisuudessa tultaisi käyttämään sivustolla jossa moiset kävijät eivät ole erikoisuus niin asiaa ei voi jättää huomioimatta."

    Olet siis tekemässä maileria julkiseen levitykseen?
    Jos niin silloin spam-estoja kannattaa tehdä monenlaisia joista sitten asiakas valitsee itsellensä sopivan hallinta sivun kautta, mitään yleispätevää ei ole mikä sopisi joka tarkoitukseen.


    "Tosin eihän siitä olisi haittaakaan jos lomakkeeseen sisällyttäisi kentän "päiväys" johon tulisi syöttää päivämäärä oikeassa muodossa, tähän tuskin botit kykenevät."

    Tuo päiväys ei ole mielestäni hyvä juttu, jos esim tilaat ulkomailta niin silloin päiväys saattaa olla -1 päivä ja muotokin erillainen.

    Aikapitkälle botit pystyy estää tuolla piilotetusta checkboksilla, tekstilootalla jne... ja sitten IP-osoite jutulla, tietenkin voit lisätä vielä sanalistan jonka perusteella viesti asetetaan karanteeniin. Voi katsoa mallia email ohjelmista miten niissä nuo spammin tunnistukset toimii.

    Spammeja et kuitenkaan mitenkään kokonaan pysty estää, vain vähentämään. Ja muutama spammi ei ole ongelma. Ja jos suojauksen läpi pääsee spammi niin teet hallintasivuista sellasen mistä pystyy helposti lisäämään sen estolistaan jne...

    Niinhän se taitaa olla että mitään täydellistä ratkaisua ei ole...
    Täytyy vain tehdä joitain kompromisseja ja suodattaa edes suurimman osan.

    Mitä mieltä muuten olet siitä jos ip-estoon sisällyttäisi muitakin tunnisteita kuin ip:n esim:
    $tunniste=$_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'];
    Onko siihen luottaminen että kävijältä tuleva tieto olisi millään muotoa sama kuin edellisellä latauksella?

    Ideasi karanteenistakin on hyvä.
    Hieman lisää työtähän se teettää kun alunperin oli tarkoitus tehdä vain lomake josta viestit lähetetään sähköpostiin. Täytyy harkita.

    Kiitos vinkeistä

    Äänestä

  • alotteleva kirjoitti:

    Niinhän se taitaa olla että mitään täydellistä ratkaisua ei ole...
    Täytyy vain tehdä joitain kompromisseja ja suodattaa edes suurimman osan.

    Mitä mieltä muuten olet siitä jos ip-estoon sisällyttäisi muitakin tunnisteita kuin ip:n esim:
    $tunniste=$_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'];
    Onko siihen luottaminen että kävijältä tuleva tieto olisi millään muotoa sama kuin edellisellä latauksella?

    Ideasi karanteenistakin on hyvä.
    Hieman lisää työtähän se teettää kun alunperin oli tarkoitus tehdä vain lomake josta viestit lähetetään sähköpostiin. Täytyy harkita.

    Kiitos vinkeistä

    "Mitä mieltä muuten olet siitä jos ip-estoon sisällyttäisi muitakin tunnisteita kuin ip:n esim:
    $tunniste=$_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'];"

    Mielestäni tässä tapauksessa siitä ei saada juurikaan mitään hyötyä. Ja IP-osoite kannattaa kyl ottaa hieman eritavalla, tällöin tietyissä tapauksissa saadaankin oikea IP-osoite eikä proxyn. Vaikkapa http://us2.php.net/manual/en/language.variables.predefined.php#31724


    "Onko siihen luottaminen että kävijältä tuleva tieto olisi millään muotoa sama kuin edellisellä latauksella?"

    HTTP_USER_AGENT ja muukin kävijältäpäin tuleva tieto on helposti muutettavissa haluamaksi, joten siihen ei kannata hirvittävästi luottaa. Toisaaltaan jos tästä ei informoida käyttäjälle mitään, niin esto voisikin toimia jotenkuten.


    "Hieman lisää työtähän se teettää kun alunperin oli tarkoitus tehdä vain lomake josta viestit lähetetään sähköpostiin."

    Helppo tuommonen karanteeni on tehdä periaatteessa viestit tietokantaan ja siinä se. Ja kerrallahan kannattaa tehdä hyvä, sitten sitä on helppo käyttää muuallakin eikä aina tartte tehdä uusiksi alusta asti. Varsinkin jos teet olio-ohjelmoinnilla.

    Äänestä

Tietenkin voi reaaliajassa miksata näkövammaisille sen CAPTCHA:n kohinan sekaan miksattavaksi samplepätkiksi ja hakea se sitten multimediana sivulle. Silloin sivu hokee sen koodin äänenä ja näkövammainen kirjoittaa sen kenttään.

Äänestä

Kommentoi aloitusta


alotteleva kirjoitti:

Onkos olemassa mitään parhaaksi todettua tapaa estää roskapostitus lomakkeelta?
Kehittelen formmaileria enkä haluaisi sähköpostini täyttyvän roskasta.

Mielessä on käynyt keksit mutta nehän on helppo poistaa käytöstä.
IP-esto ei tule kysymykseen koska joillakin saattaa olla sama ip(esim. saman proxyn takana) kun taas joillakin se vaihtuu suhteellisen nopeasti.
Sessioilla homma ei oikein hoidu koska jos id tulee keksistä niin se voidaan poistaa käytöstä ja jos id tulee urlin mukana sekin voidaan poistaa.

Parhaaksi ehdokkaaksi on noussut CAPTCHA menetelmä eli esim. pyytää lomakkeen täyttäjää kirjoittamaan
sotkuisessa kuvassa oleva merkkijono tai laskemaan jokin yksinkertainen laskutoimitus. Kuvamenetelmässä kuitenkin tulee kysymysmerkiksi näkövammaiset ja tekstipohjaista selainta käyttävät ihmiset ja laskutoimituksessa on omat heikkoutensa. Myöskin olisi tarpeellista estää useamman viestin lähetys lyhyellä aikavälillä johon CAPTCHA menetelmä ei oikein auta.
Sovelluksessani ei myöskään tule kyseeseen mikään käyttäjien registeröitynen vaikka tämä poistaisikin monta ongelmaa.

Kiitos vastanneille jo etukäteen

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu