• 2 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
راههایی برای آنتی اسپم کردم ایمیل ها
#1
همونطور که می دونید کراول ها سورس فایل ها رو می خونند و یکی از بهترین راه ها برای اینکه جلوی به سرقت رفتن ایمیل ها رو بگیرید اینه که شما در سورس ایمیل رو بصورت hex بنویسید
به عنوان مثال
کد پی‌اچ‌پی:
<?php
    
function escapeHex($string)
    {
        
$return '';
        for (
$x=0$x strlen($string); $x++) {
            
$return .= '%' bin2hex($string[$x]);
        }
        return 
$return;
    }
 
    function 
escapeHexEntity($string)
    {
        
$return '';
        for (
$x=0$x strlen($string); $x++) {
            
$return .= '&#x' bin2hex($string[$x]) . ';';
        }
        return 
$return;
    }
 
    
$email 'antispam@example.com';
    echo 
'<a href="mailto:' escapeHex($email) . '">' escapeHexEntity($email) . '</a>';
؟


همچنین در اسمارتی هم می تونید از این روش استفاده کنید
کد:
{assign var='email' value='antispam@example.com'}
    <a href="mailto:{$email|escape:'hex'}">{$email|escape:'hexentity'}</a>

خروجی:
کد:
<a href="mailto:%61%6e%74%69%73%70%61%6d%40%65%78%61%6d%70%6c%65%2e%63%6f%6d">
    &#x61;&#x6e;&#x74;&#x69;&#x73;&#x70;&#x61;&#x6d; <!-- antispam -->
    &#x40;                                           <!-- @ -->
    &#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;       <!-- example -->
    &#x2e;                                           <!-- . -->
    &#x63;&#x6f;&#x6d;                               <!-- com -->
</a>



روش دوم جایگزین کردن @ و . با کلماتی نظیر [AT] و [DOT] هست.

کد پی‌اچ‌پی:
<?php
    
function escapeEmail($string)
    {
        return 
str_replace(array('@''.'),array(' [AT] '' [DOT] '), $string);
    }
 
    
$email 'antispam@example.com';
    echo 
escapeEmail($string);
?>

همچنین در اسمارتی از این روش استفاده کنید

کد:
{assign var='email' value='antispam@example.com'}
{$email|escape:'mail'}

خروجی :
کد:
antispam [AT] example [DOT] com

روش سوم ایجاد تصویر هست ، یعنی اینکه شما ایمیل رو به یک تصویر تبدیل کنید
کد پی‌اچ‌پی:
<?php
    
// the email address to draw
    
$email $_GET['email'];
 
    
// select the font. '4' is a builtin kind,
    // with each letter about 8px wide
    
$font 4;
    
$width strlen($email) * 8// 8px wide per letter
    
$height 15// this font size needs about this height
 
    // create the GD image
    
$im ImageCreate($width$height);
 
    
// allocate the background colour. The first call
    // to this function sets the background
    
$white ImageColorAllocate($im255255255);
 
    
// the text colour.. black
    
$textColor ImageColorAllocate($im000);
 
    
// write the email address to the image
    
ImageString($im$font00$email$textColor);
 
    
// output the content-type header and the image
    
header('Content-type: image/jpeg');
    
imageJpeg($im);
?>

کد:
My email address is <img src="/images/emailAddress.php?email=exam@example.com" alt="" class="email-image" />
[/quote]
  پاسخ
تشکر شده توسط : parvane Y.P.Y HiddeN oia amir.s imez08 paull
#2
البته خیلی هاشون مثل [at] جواب نمی ده چون روباط ها هم پیشرفت کردن
  پاسخ
تشکر شده توسط :
#3
بله و کارامد ترین روش استفاده از تصویر هست اما نه بصورت آدرس ایمیل خالی ، حتما پشتش چند تا خط باشه چون ایمیل های خالی خوانده می شن
  پاسخ
تشکر شده توسط :
#4
یک تابع دیگه:
کد پی‌اچ‌پی:
function String2ASCII($Str_Input)
{

        for(
$i 0$i strlen(&$Str_Input); $i ++): $_Str_Output.= '&#' ord(substr(&$Str_Input, &$i$i 1)) . ';';
        endfor;

    return((string)
$_Str_Output);
}
echo(
String2ASCII('Name@Domain.xxx')); 
Smile
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط : HiddeN hidensoft parvane oia
#5
متاسفانه این کار ها قدیمی شده Confused
تنها راهی که مونده اینه که ایمیل رو بگذارین تو عکس!
  پاسخ
تشکر شده توسط :
#6
کد پی‌اچ‌پی:
My email address is <img src="/images/emailAddress.php?email=exam@example.com" alt="" class="email-image" /> 

اینجوری‌ بازم می خونن
یه روشش هم همونطور که دوستان گفتن ساختن تصویر هست. اما همین الانش هم کاربرا با خوندن متن از تصاویر مشکل دارن
  پاسخ
تشکر شده توسط :
#7
ولی جالب اینجاست که اسپمر ها اصلا مشکل ندارند. خیلی هاشون از ocr استفاده می کنندBig Grin
  پاسخ
تشکر شده توسط :
#8
البته سیستمی که reCAPTCHA ارائه داده به نظر من می تونه مفید باشه. مثلا اینطوری
OCR فقط ایمیل هایی رو می خونه که بصورت ساده نوشته می شوند و اگر شما یکم پیچو تاب بدید و یه چند تا خط هم رنگ در صفحه ایجاد کنید گیج می شه. یادتون میاد رپید شیر یه کپتچا داشت که روی حرف عکس یه گربه بود و شما باید اون حرف هایی رو تایپ می کردی که گربه ای که به شما نشون می ده رو داشته باشه
[عکس: rapidshare-captcha-cats.jpg]
  پاسخ
تشکر شده توسط :
#9
من که خوب یادمه. چشم آدم در میومد تا بخونه. خیلی وقتا منصرف می شد آدم
جالب اینجاست که یه بنده خدایی یه ocr نوشت‌ که این رو می خوند Huh
  پاسخ
تشکر شده توسط :
#10
کپتچا های reCAPTCHA هم خونده می شه ؟ فکر نمی کنم
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان