اطلاعیه

Collapse
No announcement yet.

راهنمای نصب SecurityCode برای نظارت و مبارزه با Spam

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • راهنمای نصب SecurityCode برای نظارت Ùˆ مبارزه با Spam

    مرجع اصلی این مطلب اینجاست:
    http://james.seng.cc/archives/000145.html
    و خلاصه کلیه حقوق این اسکریپت مال نویسنده اش است.
    نمونه اون هم میتونید توی وبلاگ خودش و در قسمت Comment ها ببینید:
    http://james.seng.cc/

    برای وارد کردن نظر جدید، لازمه یک کد گرافیکی رو تایپ کنید. که خب هر روباتی قادر به انجام این کار نیست و روبات خیلی باهوشی لازم داره.

    فایل ها رو از اینجا دریافت کنید. البته بهتره لینک مرجع اصلی رو چک کنید شاید نسخه جدیدی ارائه شده باشه. این راهنما رو برای نسخه 0.1c دارم مینویسم.

    قبلا از فایلهایی که ویرایش میکنید برای اطمینان BackUp بگیرید. Permission کلیه فایلهایی که Upload میکنید باید 755 شود.

    نحوه نصب اون برای MT 2.x و MT 3.x تقریبا متفاوت است که هر کدوم جداگونه توضیح داده خواهد شد.


    نصب برای MT 2.x

    1. لازم است که GD.pm روی سرور نصب باشد. این یک Extension Library برای Perl است که بر روی سرورهای پرشین تولز نصب است.

    2. یک دایرکتوری به عنوان cache برای این پلاگین باید ساخته بشه تا کدهایی که نمایش می دهد به طور موقتی Save کند. بهتره که این دایرکتوری بیرون از public_html باشد تا دسترسی روی وب به آن ممکن نباشد.
    Permission این دایرکتوری باید 755 یا 775 یا 777 باشد تا قابلیت Write داشته باشد.
    بعد از ساختن این دایرکتوری (به هر نامی که میخواهید) لازم است فایل SCode.pm را که همراه مجموعه دانلود کرده این باز کرده و نام این دایرکتوری را در ابتدای فایل اصلاح کنید:



    ;"/ my $tmpdir ="/ tmp

    برای مثال اگر نام دایرکتوری را scodes گذاشته اید به صورت زیر خواهد شد: (منظور از username) نام user شما در cPanel است و اگر از cPanel استفاده نمیکنید باید آدرس کامل فایل روی سرور را بدهید:


    ;"/my $tmpdir ="/ home/username/scode
    همچنین در این فایل تعداد رقمهای این کد را مشخص کنید:


    ;my $scode_length = 6
    پیش فرض 6 رقمی است.
    فایل را پس از اتمام تغییرات ذخیره کنید

    3. فایل SCode.pm را در شاخه /lib/MT آپلود کنید.

    4. فایل mt-scode.cgi را کنار بقیه فایلهای مووبل تایپ در شاخه اصلی آن آپلود کنید. (کنار فایل mt.cgi)

    5. فایل scode.pl را در شاخه plugins آپلود کنید. اگر این شاخه را ندارید در کنار mt.cgi (شاخه اصلی مووبل تایپ) بسازید

    6.فایل Comments.pm را که در lib/MT/App قرار دارد باز کنید و تغییرات زیر را وارد کنید.
    این سه خط را پیدا کنید:


    (('if (!$q->param('text
    .((" return $app->handle_error($app->translate("Comment text is required

    در انتهای آن و در یک خط جدید کدهای زیر را اضافه کنید:


    SecurityCode hack start #
    #
    require MT::SCode
    ('my $code = $q->param('code
    ('my $scode = $q->param('scode
    (my $sscode = MT::SCode::scode_get($code
    } (if ($scode ne $sscode
    (return $app->handle_error($app->translate
    ;(("Wrong or missing Security Code."
    {
    ;(MT::SCode::scode_delete($code
    ;(MT::SCode::scode_create($code
    #
    Security hack ends #


    برای اینکه مطمئن شوید درست انجام داده اید، بعد از کدهای جدید این خطوط باید باشد:


    ;my $comment = MT::Comment->new
    .$comment->ip($app->remote_ip);7

    در مرحله بعدی لازم است بعضی تمپلیتها را ادیت کنید. وارد مووبل تایپ شوید (Login) ، تمپلیتهای زیر باید ویرایش شوند:

    Individual Entry Template
    Comment Listing Template
    Comment Preview Template
    Comment Error Template

    در تمپلیتهای فوق، درست قبل از خط زیر:


    "input type="submit>
    این کدها را اضافه کنید:


    <-- Security Code Check --!>
    "< <input type="hidden" id="code" name="code" value="<$MTSecurityCode$>"
    <img border="0" src="<$MTCGIPath$><$MTSecurityImage$>?code=<$MTSec urityCode$>"><br />
    </input tabindex=3 id="scode" name="scode" /><br/><br>
    <-- end of Security Code Check --!>

    در هر 4 تمپلیت و هر تمپلیت خاص دیگری که خود ساخته اید و فرم ورود نظرات دارد باید تغییرات فوق اعمال شود.

    8. اگر از MTBlackList استفاده میکنید، یا باید آن را غیر فعال کنید یا اینکه کدهای مرحله 6 را به فایل MTBlPost.pm که در شاخه plugins قرار دارد اضافه کنید.

    9. تمام شد. یه تستی بکنید ببینید نتیجه چی شده.




    نصب برای MT3.x

    ابتدا 9 مرحله فوق را انجام دهید.

    10. فایل lib/MT/Template/Context.pm را باز کنید و دنبال عبارت بگردید:


    sub: _hdlr_comment_fields
    چنین چیزی خواهید دید:

    sub _hdlr_comment_fields {
    my ($ctx, $args, $cond) = @_;

    کدهای زیر را بعد از آن وارد کنید:


    # Security code validation
    require MT::SCode; # <-- new addition
    srand int (time/10)+$$;
    my $securitycode = int rand(MT::SCode::scode_tmp());
    $securitycode++;
    MT::SCode::scode_create($securitycode);
    # End Security code hack

    کمی پایین تر کدهای زیر را پیدا کنید:


    <MT_TRANS phrase="Remember me?">
    <input type="radio" id="remember" name="bake****ie" />


    و بعد از آن کدهای زیر را اضافه کنید:


    <!-- Security Code Check -->
    <input type="hidden" id="code" name="code" value="$securitycode" />
    <label for="scode">Security Code:</label><br />
    <img border="0" alt="Please enter the security code you see here" src="$path/mt-scode.cgi?code=$securitycode" /><br />
    <input tabindex="3" id="scode" name="scode" /><br /><br />
    <!-- end of Security Code Check -->


    کمی پایین تر عبارت زیر را پیدا کنید:


    <MT_TRANS phrase="Remember me?">
    <input type="radio" id="remember" name="bake****ie" />


    و بعد از آن کدهای زیر را وارد کنید:


    <!-- Security Code Check -->
    <input type="hidden" id="code" name="code" value="$securitycode" />
    <label for="scode">Security Code:</label><br />
    <img border="0" alt="Please enter the security code you see here" src="$path/mt-scode.cgi?code=$securitycode" /><br />
    <input tabindex="3" id="scode" name="scode" /><br /><br />
    <!-- end of Security Code Check -->


    تنظیمات بیشتر:
    برای تغییر رنگ کدهای تولید شده فایل mt-scode.cgi را باز کرده و متغیرهای


    $c_background, $c_border, $c_line , $c_code
    را اصلاح کنید

    اگر روزانه افراد زیادی برای شما نظر می دهند تعداد کدهای تولید شده را در فایل SCode.pm عوض کنید:


    my $scode_maxtmp = 50;ا

    ین راهنما از روی راهنمای موجود در مجموعه فایل دریافت شده نوشته شده که در انتهای آن یک FAQ هم دارد که به مشکلات معمول پاسخ داده شده. در صورت نیاز آن را هم بررسی کنید.

    امیدوارم بدرد بچه های شبگرد خورده باشه
Working...
X