ایران سرور
آنتی اسپم ورژن 1


به گفته نویسنده ، این ماژول 100% مانع از قرار دادن اسپمها:

1. در ارسال نظرات
2. در ارسال مطالب
3. هنگام عضویت

میشه و در قسمت مدیریت اونها رو نمایش میده . belay


1. فایل رو دانلود و در مسیر مورد نظر قرار بدید .

antispam_0.1beta.zip6,77 کيلوبايت170دانلود فایل


2. وارد phpmyadmin بشید و در sql کد زیر رو اجرا کنید :



CREATE TABLE `dle_hte_antispam` (
  `id_spam` int(11) NOT NULL auto_increment,
  `ip` varchar(20) NOT NULL default '',
  `coockie` text NOT NULL,
  `dt` datetime NOT NULL default '0000-00-00 00:00:00',
  `type` int(1) NOT NULL default '0',
  `post` text NOT NULL,
  PRIMARY KEY  (`id_spam`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=9;





3. فایل engine/modules/addnews.php رو باز کنید :

کد زیر رو پیدا کنید :


if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

$allow_addnews = true;



بعد از کد بالا . کد زیر رو قرار بدید :



$stop = "";
if (($_POST['antispam']!='as')&&($_POST['title']!=''))
{
    $stroka='';
    foreach ($_POST as $value)
    {
        $stroka .= " $value |||";
    }

    $stop .= 'Block Spam! If youre not spammers, please contact aministratsiey portal!';
    $db->query("INSERT INTO dle_hte_antispam (ip, coockie , dt, type, post) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SERVER['HTTP_COOKIE']."',CURRENT_TIMESTAMP,'1','".$stroka."')");
}



در همین فایل کد زیر رو پیدا و حذف کنید :

$stop = "";


در همین فایل کد زیر رو پیدا کنید :

$tpl->copy_template = $categoryfilter . $script . $tpl->copy_template . "<input type=\"hidden\" name=\"mod\" value=\"addnews\" />{$random_key}</form>";


به جاش کد زیر رو قرار بدید :

$tpl->copy_template = $categoryfilter . $script . $tpl->copy_template . "<input type=\"hidden\" name=\"mod\" value=\"addnews\" /><input type=\"hidden\" name=\"antispam\" value=\"as\" />{$random_key}</form>";



4. فایل engine/modules/addcomments.php رو باز کنید :

کد زیر رو پیدا کنید :

if( ! defined( 'DATALIFEENGINE' ) or $config['allow_comments'] != "yes" ) {
    die( "Hacking attempt!" );
}


بعد از کد بالا، کد زیر رو قرار بدید :

if ($_POST['antispam']!='as')
{
    $stroka='';
    foreach ($_POST as $value)
    {
        $stroka .= " $value |||";
    }
    $db->query("INSERT INTO dle_hte_antispam (ip, coockie , dt, type, post) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SERVER['HTTP_COOKIE']."',CURRENT_TIMESTAMP,'2','$stroka')");
    $stop[] = $lang['news_info_3'];
    $CN_HALT = TRUE;
}



5. فایل engine/ajax/js_edit.js رو باز کنید ( میتونید از فایلی که در پوشه developer قرار داده شده استفاده کنید و به جای این فایل در پوشه ajax قرار بدید ) و یا اینکه دستور زیر رو انجام بدید :

کدزیر رو پیدا کنید :
function doAddComments()


در زیر اون به دنبال کد زیر بگردید :

var varsString = "post_id=" + form.post_id.value;


بعد از کد بالا ، کد زیر رو قرار بدید :

dle_comments_ajax.setVar("antispam", dle_comments_ajax.encodeVAR(form.antispam.value));



6. فایل engine/modules/show.full.php رو باز کنید :

کد زیر رو پیدا کنید :

<input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />{$hidden}


کد زیر رو در بالای کدی که در بالا هست قرار بدید :

<input type=\"hidden\" name=\"antispam\" value=\"as\" />


7. فایل engine/modules/register.php رو باز کنید :

کد زیر رو پیدا کنید :

<input name=\"submit_reg\" type=\"hidden\" id=\"submit_reg\" value=\"submit_reg\" />


بعد از کد بالا ، کد زیر رو قرار بدید :

<input name=\"antispam\" type=\"hidden\" value=\"as\" />


در همین فایل کد زیر رو پیدا کنید :

if( $doaction == "validating" and ! $stopregistration ) {


کد زیر رو در بالای کدی که در بالا هست قرار بدید :


if( $doaction == "validating")

    if ($_POST['antispam']!='as')
    {
        $stroka='';
        foreach ($_POST as $value)
        {
            $stroka .= " $value |||";
        }
        $db->query("INSERT INTO dle_hte_antispam (ip, coockie , dt, type,post) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SERVER['HTTP_COOKIE']."',CURRENT_TIMESTAMP,'3','".$stroka."')");
        msgbox( $lang['all_info'], "Say no spam!" );
        $stopregistration = TRUE;
    }


8. فایل admin.php رو باز کنید :

کد زیر رو پیدا کنید :

'addnews' => 'user',


بعد از کد بالا ، کد زیر رو قرار بدید :

'antispam' => 'admin',



9. فایل engine/inc/options.php رو باز کنید :

کد زیر رو پیدا کنید :

$options['others'] = array (


بعد از کد بالا ، کد زیر رو قرار بدید :

array (
                                            'name' => "آنتی اسپم",
                                            'url' => "$PHP_SELF?mod=antispam",
                                            'descr' => "anti-spam filter",
                                            'image' => "tools.png",
                                            'access' => "1"
                                ),



انشا الله که کار کنه flower


kp45، novin30d و meymenetli و 12 نفر دیگر تشکر کرده‌‌اند.