pillinetwork hesabınızla giriş yapın.

spam e-posta koruması

e-posta adresimizi web sitemize yazar yazmaz yükselen bir grafikle posta kutumuza spam postalar yağıyor. e-posta adresimizi resme çevirip sitemize koyarsak bu seferde ziyaretçiler yada site sahibi bu durumdan hoşlamıyor.

e-posta adreslerimizi bir php sayfanın içine yazabiliriz;
adresler.php

1
2
3
4
5
<?php
$ali = "ali@siteismi.com";
$veli = "veli@siteismi.com";
$kirdokuzelli = "kirdokuzelli@siteismi.com";
?>

posta göndermek için sayfamız;
posta.php

1
2
3
4
5
6
<?php
include 'adresler.php'; //sayfamizi cagiriyoruz.
$x = $_GET['a']; //adresten parametreyi aliyoruz
$isim = $$x; //parametreyi fonksiyona donusturuyoruz.
header("Location:mailto:$isim"); //eslesen posta adresine yonlendiriliyoruz.
?>

e-posta adreslerini sayfamıza resim olarak yansıtan;
resim.php
1
2
3
4
5
6
7
8
9
10
11
12
<?php
include 'adresler.php'; //sayfamizi cagiriyoruz
$x = $_GET['a']; //adresten parametreyi aliyoruz
$isim = $$x; //parametreyi fonksiyona donusturuyoruz.
$resim = imagecreate(220,20); //resim buyuklugu
$beyaz = imagecolorallocate($resim, 255, 255, 255); //renk secimi
$siyah = imagecolorallocate($resim, 0, 0, 0); //renk secimi
imagestring($resim, 10, 5, 0,$isim, $siyah); //yazi tipi
header("Content-type: image/png"); //olusturulacak resim formati
imagepng($resim);
imagedestroy($resim);
?>

son olarakta html sayfamız;
sayfa.html

1
2
3
4
5
6
7
8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>deneme</title>
</head>
<body>
<a href="posta.php?a=veli" target="_blank"><img src="resim.php?a=veli" border="0"/></a>
</body>

html sayfamızda a parametresini veli olarak verdik.

1
<a href="posta.php?a=ali" target="_blank"><img src="resim.php?a=ali" border="0"/></a>

eğer posta ve resim.php nin sonundaki parametremizi adresler.php içindeki başka bir isimle değiştirsek html sayfada o kişinin e-posta adresini göreceğiz. tıklandığındada onun adresi e-posta programında çıkacak.

böylece e-posta adresimiz spam tarayıcıları tarafından algılanamaz.

/* cxc yazdı. 22 Kasım 2008 17:00. 12 yorum var */

Yorumlar

güzel bilgi teşekkürler. "kırkdokuzelli" ye çok güldüm.

bişey değil :)

örnek olarak alta bakabilirsiniz...

örnek
örnek

çok uzun e-mail adresleri oluyor, misal üniversite e-posta adresleri vs...

onlar için de çözüm şudur

$uzunluk=strlen($x)*9.5;
$resim=imagecreate($uzunluk,20); //resim buyuklugu

$uzunluk ta strlen ile e-posta adresinin kaç karakter olduğu hesaplandıktan sonra , hangi fontu kullanacaksanız o fontun karakter genişliği (ben 9.5 piksel olarak hesapladım) ile çarpılarak hazırlanacak resmin genişliğinin kaç piksel olacağı hususunda yüzde 99 doğru sonuç alabiliyorsunuz.

adresler.php'nin listeyi veritabanındaki basit bir tablodan alması da sağlanabilir ve admin paneline de bu tabloya kayıt eklemek için bir form konulabilir. sitede "ben ftp mtm uğraşamam" diyen arkadaşlarla çalışıyorsanız bunlar önemlidir =D

Bu da benimkisi

1
2
3
4
function myMail(name,domain)
{
location.href = name + "@" + domain
}

<a href="javascript:myMail('koray','gmail.com')"> mailim</a >

/* Hengame | Oyundan biraz fazlası Koray KIRCAOĞLU | SinirAdam the box said 'requires windows 95 or better'. so I installed linux. */

AS ile yapılmış olan sistem birinci olarak swf in çağırılışından ikinci olarak ise swf dosyasının decrypt edilmesi kolay olduğundan rahatlıkla geri çekilebilecektir ileti adresi.

güzel bi yazı olmuş, spamcılar o kadar artık ne yapacağımızı şaşırdık sol elle sağ kulağı tutmak zorunda kalıyoz ama spam almaktan iyidir =)

gercekten guzel tesekkurler arkdasımm

email adresini base64 ile şifrelemek ve resme dönüştürmek;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
// Content-type: image/gif parametresini Content-type: image/png ile değiştirseniz png cikti alirsiniz.
header ("Content-type: image/gif");
$font_size = 2;
$email = preg_replace('/[^a-zA-Z0-9_\.@\-]/', '', base64_decode($_GET['email']));
if (strlen($email) > 512) {
die ("Posta adresi cok uzun (En fazla 512 karakter)");
}
//kodun uzunlugunu almak.
$width = imagefontwidth ($font_size) * strlen($email);
$height = imagefontheight($font_size);
//resmi yaratmak
$img = @imagecreatetruecolor($width, $height) or die("bu fonksiyon calismiyor");
//transparan yapmak
imagesavealpha($img, true);
$trans_colour = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $trans_colour);
//yazi rengini ayarlamak
$text_color = 0;
if (!isset($_GET['black']))
$text_color = imagecolorallocate($img, 33, 33, 33);
else
$text_color = imagecolorallocate($img,200,200,200);
//resmi yaratmak
imagestring($img, $font_size, 0, 0, $email, $text_color);
//resmi cikti olarak almak
imagepng($img);
imagedestroy($img);
?>

base64 çevirme işlemi için sayfa

1
<img src="posta.php?email=aGViZUBoZWJlLmNvbQ==" border="0" />

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork