Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Päänvaivaa spämmiroboteille

Sivun loppuun

Olga [19.02.2004 14:56:48]

#

Sähköpostiosoitteet nettisivuille turvallisesti strtr()-funktion ja GD-kirjaston avulla. Osoitteet näkyvät lähdekoodissa sekamelskana, mutta sivuilla oikein .png - muotoisena kuvana.

txt2png.php

<?php

// txt2pngAntiSpam 0.01
//
// Irksome & ohjelmointiputkan kaverit,
// kts. https://www.ohjelmointiputka.net/keskustelu/3953-p%C3%A4%C3%A4nvaivaa-sp%C3%A4mmiroboteille
// saapi käyttää ja näyttää ihan vapaasti :)
//
// skripti saa parametrinaan kryptatun tekstinpätkän,
// jonka se muuntaa takaisin selkokieliseen muotoon
// ja tekee siitä png-kuvan.
//
// esimerkki toiminnasta löytyy osoitteesta
// http://mbnet.fi/irksome/testaus/pertinkaverit.php

header("Content-type: image/png"); // kuvaheaderi

$from =  "zyxwvutsrqponmlkjihgfedcba"; // muunnettavat merkit...
$to = "abcdefghijklmnopqrstuvwxyz"; // ... joiksi muunnetaan

$teksti = strtr($_GET['text'], $from, $to); // muutetaan parametrina saatava teksti takaisin selväjärkiseen muotoon
$leveys = 8*strlen($teksti); // kuvan leveys
$korkeus = 18; // kuvan korkeus

$kuva = imagecreate($leveys,$korkeus); // luodaan kuva

/* määritellään käytettävät värit */
$valkoinen = imagecolorallocate($kuva,255,255,255);
$sininen = imagecolorallocate($kuva,13,111,161);

imagestring($kuva,3,3,2,$teksti,$sininen); // teksti: kuva,fonttikoko,x,y,teksti,väri
imagecolortransparent($kuva,$valkoinen); // valkoinen läpinäkyväksi

imagepng($kuva); // tehdään kuva
imagedestroy($kuva); // poistetaan kuva muistista

?>

käyttöesimerkki, pertinkaverit.php

<?php

print "Sähköpostiosoitteet:<br />\n";
print "Esko: <img src='txt2png.php?text=".kryptaa("esko.aho@ahonlaita.com")."' alt='' /><br />\n";
print "Mauno: <img src='txt2png.php?text=".kryptaa("mauno.mainio@maunolandia.org")."' alt='' /><br />\n";
print "Kyllikki: <img src='txt2png.php?text=".kryptaa("kyllikki.jauhoaivo@koomarket.fi")."' alt='' />\n";

function kryptaa($teksti) {
  $from = "abcdefghijklmnopqrstuvwxyz"; // muunnettavat...
  $to = "zyxwvutsrqponmlkjihgfedcba"; // joiksi muunnetaan
  return strtr($teksti, $from, $to); // palautetaan sekamelska
} // funktio

?>

Olga [19.02.2004 15:00:05]

#

Ja niinku T.M. ehdotti, olis voinu vielä muuttaa kryptauksen yhteydessä tuon @-merkin vaikkapa isoksi A-kirjaimeksi, niin olis saanu spammirobotit vielä enemmän ymmälleen. Mut se jääköön kotitehtäväksi... :)

T.M. [20.02.2004 00:06:45]

#

Joo, hyvä että teit koodivinkin, monille varmasti hyötyä.

sooda [20.02.2004 10:21:04]

#

hyvä juttu.

Olga [20.02.2004 10:54:16]

#

Pienoisia kirjoitusvirheitä... ei siis tulosteta tuossa funktiossa mitään sekamelskaa, vaan luonnollisesti palautetaan. Ja iso homma ei tosiaan olis ollu laittaa noiden stringirimpsujen perään esim. just nuo @-merkki ja pisteet. Tää kyl estää tehokkaasti myös osoitteen copypastettamisen, mut sen kanssa täytyy vain elää :)

Draiz [20.02.2004 13:09:59]

#

Itekki tuommosen just vähän aikaa sitten tehny, mutta tää on kyl vähän kehittyneempi

Olga [20.02.2004 13:55:34]

#

Uih, vinkkiä voi näköjään muokata. Kätevää :)

Quiz [21.02.2004 12:16:25]

#

Voisi laittaa kryptaukseen myös numerot... Ja sitä paitsi tuossa on yksi pieni virhe.

Tämä...

$to = "abcdefghijklmnopqrstuvwxyz"; // muunnettavat merkit...
$from =  "zyxwvutsrqponmlkjihgfedcba"; // joiksi muunnetaan

...tällaiseksi

$from = "9876543210zyxwvutsrqponmlkjihgfedcba"; // muunnettavat merkit...
$to =  "abcdefghijklmnopqrstuvwxyz0123456789"; // joiksi muunnetaan

Ehdotus vain...

miiro [21.02.2004 16:58:20]

#

mites tuo sininen saadaan mustaksi - siis kun se näyttää sen tekstin sinisenä - että se saisi näyttämään sen mustana, vihreänä, punasena ja jollain muullakin värillä, miten saa eri värejä

miiro [21.02.2004 16:59:02]

#

hups olinpas tyhmä.

miiro [21.02.2004 16:59:19]

#

iha pelkkää rgbtä

Meitsi [22.02.2004 14:52:01]

#

Täähän on ihan helmi systeemi.

Nyntti [22.02.2004 17:15:26]

#

superi. käyttöön välittömästi -->

T.M. [31.03.2004 01:06:47]

#

Huomasin juuri tässä että: opera on perseestä.
Noi email-osoitteet eivät näy operalla ollenkaan (koskien tuota esimerkkisivua), koska nerokas opera muuttaa tekstin värin läpinäkyväksi, vaikka ei pitäisi? IE:llä ja netscapella tuo toimii ihan hyvin, ja näkyy oikeasta kohdasta läpi (eli ei tekstistä).

Olga [01.04.2004 22:50:43]

#

Jännä juttu. Oon kyl joskus ennenku huomannu häikkää tuon imagecolortransparent-funktion ja joidenki selainten kanssa. Mut mun Opera 7.23 kyl näyttää noi ihan oikein, toisin ku sit toi 6.05. Mut täytyy myöntää et toi 6.05 on kyl ihan ihmeellinen versio. Mä en oo koskaan saanu mitään mun sivuja toimimaan sillä kunnolla ja sit ihmettelin ku kaikki kehu Operaa. Mut sit toi 7.23 näyttäis tukevan ihan oikein kaikkia standardeja ja toimii ku se kuuluisa junan vessa :)

henkka [21.08.2004 14:33:36]

#

On esitetty että pitäisi muuntaa @-merkkikin. Eikä pidä, saavatpahan spammirobotit olemattomia osoitteita listoilleen, jos ne noista ymmärtävät kerätä...

D4_B34M [05.12.2004 03:46:20]

#

Tää on pirullinen :]
hyvin vörkkas

miiro [08.01.2005 18:54:54]

#

kyllikki.jauhoaivo@koomarket.fi
:D !!

Kingi [17.03.2005 21:02:29]

#

Tuossa:
$from = "abcd"; // muunnettavat merkit...
$to = "1234";

sehän muuttaa a:n ykköseksi b:n kakkoseksi jne.
joten joku joka jaksaa (4 j alkuista sanaa... wow) niin voi ohjelmoida semmoisen ohjelman joka katsoo mikä kirjain muuttuu miksikin ja palauttaa arvot takaisin selkomuotoon ja lähettää sinne spämmiä. Eli kannattaa laittaa tuohon $to kohtaan niin monta välilyöntiä kuin tuossa $from kohdassa on merkkejä.

Quaker [06.11.2005 19:46:19]

#

Osaako joku neuvoa tyhmää, miten muokkaan tekstin fonttia ja ulkoasua? verdana, arial, b, i etc.

Olga [07.11.2005 22:28:03]

#

Käytä imagestring-funktion sijaan imagettftext-funktiota.

Maratsu [29.01.2008 20:25:44]

#

Ihmettelin ku ei toiminu, mut olinkin vahingossa ajatuksissani laitta nu sen txt2png.COM :)

Olli [13.10.2008 08:49:29]

#

Nykyään demo taitaa olla toiminnassa täällä:
http://koti.mbnet.fi/irksome/testaus/pertinkaverit.php

J4m4n4 [16.05.2010 18:43:04]

#

Kiitos tästä, tulee varmastikkin olemaan hyötyä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta