http://www.xoops.ir

سیستم مدیریت محتوا زوپس

سیستم مدیریت محتوای زوپس، CMS قدرتمندی ‌است كه با زبان PHP نوشته شده و با بانک اطلاعات MySQL همخوانی دارد، استفاده از این نرم افزار كاملا آزاد و رایگان است، برای دریافت هسته‌ی اصلی این برنامه روی آیکن زیر کلیک کنید.

دریافت کنید
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر [مسائل عمومی]
ورود به سایت




ورود خودکار

واژه رمز را فراموش کرده‌اید؟
عضو شوید
افراد آنلاين
3 کاربر آن‌لاين است (3 کاربر در حال مشاهده‌ی سایت انجمن ها)

عضو: 0
مهمان: 3

بیشتر...

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





پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۱:۱۴ شنبه ۱۲ خرداد ۱۳۸۶
#21
...:::مدیر اصلی سایت:::...
...:::مدیر اصلی سایت:::...

hamid
نمایش اطلاعات کاربر
عضو شده از:
۱۳:۰۴ سه شنبه ۹ فروردین ۱۳۸۴
گروه:
کاربران سایت
مدیران اصلی سایت
پیام: 1058
سطح : 28
پست/روز : 0 / 691
روز/پست : 352 / 35125
درصد این سطح : 66
آفلاین
تو سايت ما هم اومده كه :)




پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۱۹:۳۸ شنبه ۱۲ خرداد ۱۳۸۶
#22
.:همکار:.
.:همکار:.

آرش.خلج
نمایش اطلاعات کاربر
عضو شده از:
۱۶:۵۸ دوشنبه ۲۷ شهریور ۱۳۸۵
گروه:
تیم ترجمه
کاربران سایت
پیام: 646
سطح : 23
پست/روز : 0 / 554
روز/پست : 215 / 25788
درصد این سطح : 19
آفلاین
بله درسته !

تنها راهی برای کسانی که میخوان از عضویت این روبوت و پیام هاش خلاص بشن این هست که برای عضویت در سایت یه تصویر بزارن که اون رو کاربر وارد کنه !
روبوت نمیتونه اون رو بخونه ، برای همین نمیتونه عضو سایتتون شه



پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۱:۱۳ دوشنبه ۱۴ خرداد ۱۳۸۶
#23
.:همکار:.
.:همکار:.

shahram
نمایش اطلاعات کاربر
عضو شده از:
۴:۲۸ پنجشنبه ۲۵ تیر ۱۳۸۳
گروه:
کاربران سایت
پیام: 708
سطح : 24
پست/روز : 0 / 578
روز/پست : 236 / 30585
درصد این سطح : 14
آفلاین
مشکل اینه که تنها هکی که من دیدم و تست کردم تنها رو ورژنهای قدیمی کار میکرد


سایت آموزشی من : http://fattahi.net
آمار-تکنولوژی اموزشی-XOOPS-الکترونیک-دانستنیهای رایانه-اخبارتصویر کوچک شده......


پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۱:۳۴ دوشنبه ۱۴ خرداد ۱۳۸۶
#24
کار و زندگیش همین جاست!
کار و زندگیش همین جاست!

nevisande
نمایش اطلاعات کاربر
عضو شده از:
۲۰:۰۲ جمعه ۸ دی ۱۳۸۵
از داخل قالبهای زوپس
گروه:
مدیر اخبار
کاربران سایت
پیام: 517
سطح : 20
پست/روز : 0 / 499
روز/پست : 172 / 22808
درصد این سطح : 97
آفلاین
آقايون.
من موندم اين طرف چه حوصله‌اي داره؟
نشسته اكثر پستها و مقالات منو خونده و براش نقد نوشته.
منم نامردي نكردم و پاكيدمش
چه پشتكاري. واقعا دمت گرم


همه چیز برای شما

http://www.sova.ir


پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۵:۴۹ دوشنبه ۱۴ خرداد ۱۳۸۶
#25

stranger
نمایش اطلاعات کاربر
عضو شده از:
۸:۴۹ شنبه ۴ آذر ۱۳۸۵
گروه:
کاربران سایت
پیام: 608
سطح : 22
پست/روز : 0 / 539
روز/پست : 202 / 24777
درصد این سطح : 57
آفلاین
نقل قول:

nevisande نوشته:
آقايون.
من موندم اين طرف چه حوصله‌اي داره؟
نشسته اكثر پستها و مقالات منو خونده و براش نقد نوشته.
منم نامردي نكردم و پاكيدمش
چه پشتكاري. واقعا دمت گرم

بابا شما چرا انقدر گندش می کنید؟؟؟
این بیه روبوت اسپمر هستش ونظراتی هم که می ده همشون از پیش نوشته شه هستش، تنها راهش دریافت یه هک برای کپچا هستش که زا سایت اصلی زوپس با یه جست وجو می تونید پیدا کنید!!!
من با اجازه این تاپیک رو قفلش کردم



پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۱۴:۳۲ دوشنبه ۱۴ خرداد ۱۳۸۶
#26
...:::مدیر اصلی سایت:::...
...:::مدیر اصلی سایت:::...

عشق مدرن
نمایش اطلاعات کاربر
عضو شده از:
۷:۱۴ شنبه ۲۳ خرداد ۱۳۸۳
گروه:
کاربران سایت
مدیران اصلی سایت
پیام: 2656
سطح : 41
پست/روز : 0 / 1003
روز/پست : 885 / 53303
درصد این سطح : 15
آفلاین
اصلا به فکر تصویر امنیتی در رجیستر نبودم خنگ بازی دراوردم
تصویر امنیتی اگه Frameworks 1.10 رو نصب کرده باشید گذاشتنش سادس
محتوای فایل register.php رو با زیر عوض کنید:
// $Id: register.php 2 2005-11-02 18:23:29Z skalpa $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>   ... nbsp;   //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //

$xoopsOption['pagetype'] = 'user';

include 
'mainfile.php';
$myts =& MyTextSanitizer::getInstance();

$config_handler =& xoops_gethandler('config');
$xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER);

if (empty(
$xoopsConfigUser['allow_register'])) {
    
redirect_header('index.php'6_US_NOREGISTER);
    exit();
}

function 
userCheck($uname$email$pass$vpass)
{
    global 
$xoopsConfigUser;
    
$xoopsDB =& Database::getInstance();
    
$myts =& MyTextSanitizer::getInstance();
    
$stop '';
    if (!
checkEmail($email)) {
        
$stop .= _US_INVALIDMAIL.'<br />';
    }
    foreach (
$xoopsConfigUser['bad_emails'] as $be) {
        if (!empty(
$be) && preg_match("/".$be."/i"$email)) {
            
$stop .= _US_INVALIDMAIL.'<br />';
            break;
        }
    }
    if (
strrpos($email,' ') > 0) {
        
$stop .= _US_EMAILNOSPACES.'<br />';
    }
    
$uname xoops_trim($uname);
    switch (
$xoopsConfigUser['uname_test_level']) {
    case 
0:
        
// strict
        
$restriction '/[^a-zA-Z0-9_-]/';
        break;
    case 
1:
        
// medium
        
$restriction '/[^a-zA-Z0-9_-<>,.$%#@!\'"]/';
        break;
    case 2:
        // loose
        
$restriction = '/[00-40]/';
        break;
    }
    if (empty(
$uname) || preg_match($restriction$uname)) {
        
$stop .= _US_INVALIDNICKNAME."<br />";
    }
    if (strlen(
$uname) > $xoopsConfigUser['maxuname']) {
        
$stop .= sprintf(_US_NICKNAMETOOLONG, $xoopsConfigUser['maxuname'])."<br />";
    }
    if (strlen(
$uname) < $xoopsConfigUser['minuname']) {
        
$stop .= sprintf(_US_NICKNAMETOOSHORT, $xoopsConfigUser['minuname'])."<br />";
    }
    foreach (
$xoopsConfigUser['bad_unames'] as $bu) {
        if (!empty(
$bu) && preg_match("/".$bu."/i", $uname)) {
            
$stop .= _US_NAMERESERVED."<br />";
            break;
        }
    }
    if (strrpos(
$uname, ' ') > 0) {
        
$stop .= _US_NICKNAMENOSPACES."<br />";
    }
    
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE uname = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($uname)));
    
$result = $xoopsDB->query($sql);
    list(
$count) = $xoopsDB->fetchRow($result);
    if (
$count > 0) {
        
$stop .= _US_NICKNAMETAKEN."<br />";
    }
    
$count = 0;
    if ( 
$email ) {
        
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE email = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($email)));
        
$result = $xoopsDB->query($sql);
        list(
$count) = $xoopsDB->fetchRow($result);
        if ( 
$count > 0 ) {
            
$stop .= _US_EMAILTAKEN."<br />";
        }
    }
    if ( !isset(
$pass) || $pass == '' || !isset($vpass) || $vpass == '' ) {
        
$stop .= _US_ENTERPWD.'<br />';
    }
    if ( (isset(
$pass)) && ($pass != $vpass) ) {
        
$stop .= _US_PASSNOTSAME.'<br />';
    } elseif ( (
$pass != '') && (strlen($pass) < $xoopsConfigUser['minpass']) ) {
        
$stop .= sprintf(_US_PWDTOOSHORT,$xoopsConfigUser['minpass'])."<br />";
    }
    return 
$stop;
}
$op = !isset($_POST['op']) ? 'register' : $_POST['op'];
$uname = isset($_POST['uname']) ? $myts->stripSlashesGPC($_POST['uname']) : '';
$email = isset($_POST['email']) ? trim($myts->stripSlashesGPC($_POST['email'])) : '';
$url = isset($_POST['url']) ? trim($myts->stripSlashesGPC($_POST['url'])) : '';
$pass = isset($_POST['pass']) ? $myts->stripSlashesGPC($_POST['pass']) : '';
$vpass = isset($_POST['vpass']) ? $myts->stripSlashesGPC($_POST['vpass']) : '';
$timezone_offset = isset($_POST['timezone_offset']) ? intval($_POST['timezone_offset']) : $xoopsConfig['default_TZ'];
$user_viewemail = (isset($_POST['user_viewemail']) && intval($_POST['user_viewemail'])) ? 1 : 0;
$user_mailok = (isset($_POST['user_mailok']) && intval($_POST['user_mailok'])) ? 1 : 0;
$agree_disc = (isset($_POST['agree_disc']) && intval($_POST['agree_disc'])) ? 1 : 0;
switch ( 
$op ) {
case 'newuser':
    include 'header.php';
    
$stop = '';
    if (!
$GLOBALS['xoopsSecurity']->check()) {
        
$stop .= implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())."<br />";
    }
    if (
$xoopsConfigUser['reg_dispdsclmr'] != 0 && $xoopsConfigUser['reg_disclaimer'] != '') {
        if (empty(
$agree_disc)) {
            
$stop .= _US_UNEEDAGREE.'<br />';
        }
    }
    
$stop .= userCheck($uname$email$pass$vpass);
    if (empty(
$stop)) {
        echo _US_USERNAME."
".$myts->htmlSpecialChars($uname)."<br />";
        echo _US_EMAIL."
".$myts->htmlSpecialChars($email)."<br />";
        if (
$url != '') {
            
$url = formatURL($url);
            echo _US_WEBSITE.': '.
$myts->htmlSpecialChars($url).'<br />';
        }
        
$f_timezone = ($timezone_offset < 0) ? 'GMT '.$timezone_offset : 'GMT +'.$timezone_offset;
        echo _US_TIMEZONE."
$f_timezone<br />";
        echo "
<form action='register.php' method='post'>";
        if(@include_once XOOPS_ROOT_PATH."
/Frameworks/captcha/formcaptcha.php") {
            
$cpatcha = new XoopsFormCaptcha();
            echo 
$cpatcha->getCaption()."".$cpatcha->render();
        }
        echo "
        
<input type='hidden' name='uname' value='".$myts->htmlSpecialChars($uname)."' />
        <
input type='hidden' name='email' value='".$myts->htmlSpecialChars($email)."' />";
        echo "
<input type='hidden' name='user_viewemail' value='".$user_viewemail."' />
        <
input type='hidden' name='timezone_offset' value='".(float)$timezone_offset."' />
        <
input type='hidden' name='url' value='".$myts->htmlSpecialChars($url)."' />
        <
input type='hidden' name='pass' value='".$myts->htmlSpecialChars($pass)."' />
        <
input type='hidden' name='vpass' value='".$myts->htmlSpecialChars($vpass)."' />
        <
input type='hidden' name='user_mailok' value='".$user_mailok."' />
        <
br /><br /><input type='hidden' name='op' value='finish' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."<input type='submit' value='". _US_FINISH ."' /></form>";
    } else {
        echo "
<span style='color:#ff0000;'>$stop</span>";
        include 'include/registerform.php';
        
$reg_form->display();
    }
    include 'footer.php';
    break;
case 'finish':
    include 'header.php';
    
$stop = userCheck($uname$email$pass$vpass);
    if (!
$GLOBALS['xoopsSecurity']->check()) {
        
$stop .= implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())."<br />";
    }
    if(@include_once XOOPS_ROOT_PATH."
/Frameworks/captcha/captcha.php") {
        
$xoopsCaptcha = XoopsCaptcha::instance();
        if(! 
$xoopsCaptcha->verify() ) {
            
$stop .= $xoopsCaptcha->getMessage()."<br />";
        }
    }
    if ( empty(
$stop) ) {
        
$member_handler =& xoops_gethandler('member');
        
$newuser =& $member_handler->createUser();
        
$newuser->setVar('user_viewemail',$user_viewemail, true);
        
$newuser->setVar('uname', $uname, true);
        
$newuser->setVar('email', $email, true);
        if (
$url != '') {
            
$newuser->setVar('url', formatURL($url), true);
        }
        
$newuser->setVar('user_avatar','blank.gif', true);
        
$actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
        
$newuser->setVar('actkey', $actkey, true);
        
$newuser->setVar('pass', md5($pass), true);
        
$newuser->setVar('timezone_offset', $timezone_offset, true);
        
$newuser->setVar('user_regdate', time(), true);
        
$newuser->setVar('uorder',$xoopsConfig['com_order'], true);
        
$newuser->setVar('umode',$xoopsConfig['com_mode'], true);
        
$newuser->setVar('user_mailok',$user_mailok, true);
        if (
$xoopsConfigUser['activation_type'] == 1) {
            
$newuser->setVar('level', 1, true);
        }
        if (!
$member_handler->insertUser($newuser)) {
            echo _US_REGISTERNG;
            include 'footer.php';
            exit();
        }
        
$newid = $newuser->getVar('uid');
        if (!
$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) {
            echo _US_REGISTERNG;
            include 'footer.php';
            exit();
        }
        if (
$xoopsConfigUser['activation_type'] == 1) {
            redirect_header('index.php', 4, _US_ACTLOGIN);
            exit();
        }
        if (
$xoopsConfigUser['activation_type'] == 0) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$xoopsMailer->setTemplate('register.tpl');
            
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
            
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
            
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
            
$xoopsMailer->setToUsers(new XoopsUser($newid));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
            if ( !
$xoopsMailer->send() ) {
                echo _US_YOURREGMAILNG;
            } else {
                echo _US_YOURREGISTERED;
            }
        } elseif (
$xoopsConfigUser['activation_type'] == 2) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$xoopsMailer->setTemplate('adminactivate.tpl');
            
$xoopsMailer->assign('USERNAME', $uname);
            
$xoopsMailer->assign('USEREMAIL', $email);
            
$xoopsMailer->assign('USERACTLINK', XOOPS_URL.'/user.php?op=actv&id='.$newid.'&actkey='.$actkey);
            
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
            
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
            
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
            
$member_handler =& xoops_gethandler('member');
            
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group']));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
            if ( !
$xoopsMailer->send() ) {
                echo _US_YOURREGMAILNG;
            } else {
                echo _US_YOURREGISTERED2;
            }
        }
        if (
$xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$member_handler =& xoops_gethandler('member');
            
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group']));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT,$xoopsConfig['sitename']));
            
$xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));
            
$xoopsMailer->send();
        }
    } else {
        echo "
<span style='color:#ff0000; font-weight:bold;'>$stop</span>";
        include 'include/registerform.php';
        
$reg_form->display();
    }
    include 'footer.php';
    break;
case 'register':
default:
    include 'header.php';
    include 'include/registerform.php';
    
$reg_form->display();
    include 'footer.php';
    break;
}
?>


مرجع: پست http://www.xoops.org/modules/newbb/vi ... C&start=0#forumpost249315

در این سایت در رجیستر کپچا گذاشته شد

ویرایش:
به امیل صدق:
جدیدا من میشنوم که بعضی از روبوت ها حتی میتونن از کپچا هم عبور کنن حداقل یه مثال عملی رو اینجا در زوپس یکی از کاربران پر سابقه زوپس نوشته:
http://www.xoops.org/modules/newbb/vi ... e=flat&order=ASC&start=10
در نتیجه به نظر من این مساله باید از طریق پروتکتور حل بشه و اجازه ورود کرولر و اسپم داده نشه


ویرایش شده توسط عشق مدرن در تاریخ ۱۳۸۶/۳/۱۴ ۱۵:۰۷:۱۴

من در سایت xoops.org فعال هستم تا بتوانیم زوپس را به شرایط مطلوب یک CMS برتر برسانیم.
آیا میدانید جستجو هم وجود دارد؟


پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر
پیام زده شده در: ۲۰:۵۴ پنجشنبه ۱۷ خرداد ۱۳۸۶
#27

stranger
نمایش اطلاعات کاربر
عضو شده از:
۸:۴۹ شنبه ۴ آذر ۱۳۸۵
گروه:
کاربران سایت
پیام: 608
سطح : 22
پست/روز : 0 / 539
روز/پست : 202 / 24777
درصد این سطح : 57
آفلاین
یه راه حل آسون تر هم هستش که به این لینک برید و دستور عمل های اونجا رو اجرا کنید، با این کار کپچا میاد توی صفحهء اول رجیستر شدن!!!
البته کد هاش رو من براتون می زارم و فایلشم به ایتن پست اضافه می کنم خداییش من چقد حال می دما!!!(چکش)
قبل از هرکاری باید frameworks 1.10 رو داشته باشید که از قسمت دریافت فایل می تونید بگیریدش!!
فایل register.php در پوشهء اصلی زوپس رو باز کنید و این خطوط رو جایگزین کنید
<?php
// $Id: register.php 2 2005-11-02 18:23:29Z skalpa $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>   ... nbsp;   //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //

$xoopsOption['pagetype'] = 'user';

include 
'mainfile.php';
$myts =& MyTextSanitizer::getInstance();

$config_handler =& xoops_gethandler('config');
$xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER);

if (empty(
$xoopsConfigUser['allow_register'])) {
    
redirect_header('index.php'6_US_NOREGISTER);
    exit();
}

function 
userCheck($uname$email$pass$vpass)
{
    global 
$xoopsConfigUser;
    
$xoopsDB =& Database::getInstance();
    
$myts =& MyTextSanitizer::getInstance();
    
$stop '';
    if (!
checkEmail($email)) {
        
$stop .= _US_INVALIDMAIL.'<br />';
    }
foreach (
$xoopsConfigUser['bad_emails'] as $be) {
  if (!empty(
$be) && preg_match("/".$be."/i"$email)) {
    
$stop .= _US_INVALIDMAIL.'<br />';
    break;
  }
}
// Captcha begin
if (is_readable(XOOPS_ROOT_PATH."/Frameworks/captcha/formcaptcha.php")) {
require_once 
XOOPS_ROOT_PATH."/Frameworks/captcha/captcha.php";
$xoopsCaptcha XoopsCaptcha::instance();
if(! 
$xoopsCaptcha->verify(true) ) {
$stop.= $xoopsCaptcha->getMessage();
}
}
// Captcha end

if (strrpos($email,' ') > 0) {
$stop .= _US_EMAILNOSPACES.'<br />';
}
    
$uname xoops_trim($uname);
    switch (
$xoopsConfigUser['uname_test_level']) {
    case 
0:
        
// strict
        
$restriction '/[^a-zA-Z0-9_-]/';
        break;
    case 
1:
        
// medium
        
$restriction '/[^a-zA-Z0-9_-<>,.$%#@!\'"]/';
        break;
    case 2:
        // loose
        
$restriction = '/[00-40]/';
        break;
    }
    if (empty(
$uname) || preg_match($restriction$uname)) {
        
$stop .= _US_INVALIDNICKNAME."<br />";
    }
    if (strlen(
$uname) > $xoopsConfigUser['maxuname']) {
        
$stop .= sprintf(_US_NICKNAMETOOLONG, $xoopsConfigUser['maxuname'])."<br />";
    }
    if (strlen(
$uname) < $xoopsConfigUser['minuname']) {
        
$stop .= sprintf(_US_NICKNAMETOOSHORT, $xoopsConfigUser['minuname'])."<br />";
    }
    foreach (
$xoopsConfigUser['bad_unames'] as $bu) {
        if (!empty(
$bu) && preg_match("/".$bu."/i", $uname)) {
            
$stop .= _US_NAMERESERVED."<br />";
            break;
        }
    }
    if (strrpos(
$uname, ' ') > 0) {
        
$stop .= _US_NICKNAMENOSPACES."<br />";
    }
    
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE uname = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($uname)));
    
$result = $xoopsDB->query($sql);
    list(
$count) = $xoopsDB->fetchRow($result);
    if (
$count > 0) {
        
$stop .= _US_NICKNAMETAKEN."<br />";
    }
    
$count = 0;
    if ( 
$email ) {
        
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE email = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($email)));
        
$result = $xoopsDB->query($sql);
        list(
$count) = $xoopsDB->fetchRow($result);
        if ( 
$count > 0 ) {
            
$stop .= _US_EMAILTAKEN."<br />";
        }
    }
    if ( !isset(
$pass) || $pass == '' || !isset($vpass) || $vpass == '' ) {
        
$stop .= _US_ENTERPWD.'<br />';
    }
    if ( (isset(
$pass)) && ($pass != $vpass) ) {
        
$stop .= _US_PASSNOTSAME.'<br />';
    } elseif ( (
$pass != '') && (strlen($pass) < $xoopsConfigUser['minpass']) ) {
        
$stop .= sprintf(_US_PWDTOOSHORT,$xoopsConfigUser['minpass'])."<br />";
    }
    return 
$stop;
}
$op = !isset($_POST['op']) ? 'register' : $_POST['op'];
$uname = isset($_POST['uname']) ? $myts->stripSlashesGPC($_POST['uname']) : '';
$email = isset($_POST['email']) ? trim($myts->stripSlashesGPC($_POST['email'])) : '';
$url = isset($_POST['url']) ? trim($myts->stripSlashesGPC($_POST['url'])) : '';
$pass = isset($_POST['pass']) ? $myts->stripSlashesGPC($_POST['pass']) : '';
$vpass = isset($_POST['vpass']) ? $myts->stripSlashesGPC($_POST['vpass']) : '';
$timezone_offset = isset($_POST['timezone_offset']) ? intval($_POST['timezone_offset']) : $xoopsConfig['default_TZ'];
$user_viewemail = (isset($_POST['user_viewemail']) && intval($_POST['user_viewemail'])) ? 1 : 0;
$user_mailok = (isset($_POST['user_mailok']) && intval($_POST['user_mailok'])) ? 1 : 0;
$agree_disc = (isset($_POST['agree_disc']) && intval($_POST['agree_disc'])) ? 1 : 0;
switch ( 
$op ) {
case 'newuser':
    if (!
$GLOBALS['xoopsSecurity']->check()) {
        echo implode('<br />', 
$GLOBALS['xoopsSecurity']->getErrors());
        exit();
    }
    include 'header.php';
    
$stop = '';
    if (
$xoopsConfigUser['reg_dispdsclmr'] != 0 && $xoopsConfigUser['reg_disclaimer'] != '') {
        if (empty(
$agree_disc)) {
            
$stop .= _US_UNEEDAGREE.'<br />';
        }
    }
    
$stop .= userCheck($uname$email$pass$vpass);
    if (empty(
$stop)) {
        echo _US_USERNAME."
".$myts->htmlSpecialChars($uname)."<br />";
        echo _US_EMAIL."
".$myts->htmlSpecialChars($email)."<br />";
        if (
$url != '') {
            
$url = formatURL($url);
            echo _US_WEBSITE.': '.
$myts->htmlSpecialChars($url).'<br />';
        }
        
$f_timezone = ($timezone_offset < 0) ? 'GMT '.$timezone_offset : 'GMT +'.$timezone_offset;
        echo _US_TIMEZONE."
$f_timezone<br />";
        echo "
<form action='register.php' method='post'>
        <
input type='hidden' name='uname' value='".$myts->htmlSpecialChars($uname)."' />
        <
input type='hidden' name='email' value='".$myts->htmlSpecialChars($email)."' />";
        echo "
<input type='hidden' name='user_viewemail' value='".$user_viewemail."' />
        <
input type='hidden' name='timezone_offset' value='".(float)$timezone_offset."' />
        <
input type='hidden' name='url' value='".$myts->htmlSpecialChars($url)."' />
        <
input type='hidden' name='pass' value='".$myts->htmlSpecialChars($pass)."' />
        <
input type='hidden' name='vpass' value='".$myts->htmlSpecialChars($vpass)."' />
        <
input type='hidden' name='user_mailok' value='".$user_mailok."' />
        <
br /><br /><input type='hidden' name='op' value='finish' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."<input type='submit' value='". _US_FINISH ."' /></form>";
    } else {
        echo "
<span style='color:#ff0000;'>$stop</span>";
        include 'include/registerform.php';
        
$reg_form->display();
    }
    include 'footer.php';
    break;
case 'finish':
    if (!
$GLOBALS['xoopsSecurity']->check()) {
        echo implode('<br />', 
$GLOBALS['xoopsSecurity']->getErrors());
        exit();
    }
    include 'header.php';
    
$stop = userCheck($uname$email$pass$vpass);
    if ( empty(
$stop) ) {
        
$member_handler =& xoops_gethandler('member');
        
$newuser =& $member_handler->createUser();
        
$newuser->setVar('user_viewemail',$user_viewemail, true);
        
$newuser->setVar('uname', $uname, true);
        
$newuser->setVar('email', $email, true);
        if (
$url != '') {
            
$newuser->setVar('url', formatURL($url), true);
        }
        
$newuser->setVar('user_avatar','blank.gif', true);
        
$actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
        
$newuser->setVar('actkey', $actkey, true);
        
$newuser->setVar('pass', md5($pass), true);
        
$newuser->setVar('timezone_offset', $timezone_offset, true);
        
$newuser->setVar('user_regdate', time(), true);
        
$newuser->setVar('uorder',$xoopsConfig['com_order'], true);
        
$newuser->setVar('umode',$xoopsConfig['com_mode'], true);
        
$newuser->setVar('user_mailok',$user_mailok, true);
        if (
$xoopsConfigUser['activation_type'] == 1) {
            
$newuser->setVar('level', 1, true);
        }
        if (!
$member_handler->insertUser($newuser)) {
            echo _US_REGISTERNG;
            include 'footer.php';
            exit();
        }
        
$newid = $newuser->getVar('uid');
        if (!
$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) {
            echo _US_REGISTERNG;
            include 'footer.php';
            exit();
        }
        if (
$xoopsConfigUser['activation_type'] == 1) {
            redirect_header('index.php', 4, _US_ACTLOGIN);
            exit();
        }
        if (
$xoopsConfigUser['activation_type'] == 0) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$xoopsMailer->setTemplate('register.tpl');
            
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
            
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
            
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
            
$xoopsMailer->setToUsers(new XoopsUser($newid));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
            if ( !
$xoopsMailer->send() ) {
                echo _US_YOURREGMAILNG;
            } else {
                echo _US_YOURREGISTERED;
            }
        } elseif (
$xoopsConfigUser['activation_type'] == 2) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$xoopsMailer->setTemplate('adminactivate.tpl');
            
$xoopsMailer->assign('USERNAME', $uname);
            
$xoopsMailer->assign('USEREMAIL', $email);
            
$xoopsMailer->assign('USERACTLINK', XOOPS_URL.'/user.php?op=actv&id='.$newid.'&actkey='.$actkey);
            
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
            
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
            
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
            
$member_handler =& xoops_gethandler('member');
            
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group']));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
            if ( !
$xoopsMailer->send() ) {
                echo _US_YOURREGMAILNG;
            } else {
                echo _US_YOURREGISTERED2;
            }
        }
        if (
$xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) {
            
$xoopsMailer =& getMailer();
            
$xoopsMailer->useMail();
            
$member_handler =& xoops_gethandler('member');
            
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group']));
            
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
            
$xoopsMailer->setFromName($xoopsConfig['sitename']);
            
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT,$xoopsConfig['sitename']));
            
$xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));
            
$xoopsMailer->send();
        }
    } else {
        echo "
<span style='color:#ff0000; font-weight:bold;'>$stop</span>";
        include 'include/registerform.php';
        
$reg_form->display();
    }
    include 'footer.php';
    break;
case 'register':
default:
    include 'header.php';
    include 'include/registerform.php';
    
$reg_form->display();
    include 'footer.php';
    break;
}
?>

حالا فایل رو ذخیره کرده و ببندید،
حالا فایل registerform.php در پوشهء include را باز کنید و خطوط زیر رو جایگزین کنید:
<?php
// $Id: registerform.php 2 2005-11-02 18:23:29Z skalpa $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>   ... nbsp;   //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //
if (!defined("XOOPS_ROOT_PATH")) {
    die(
"XOOPS root path not defined");
}
include_once 
XOOPS_ROOT_PATH."/class/xoopslists.php";
include_once 
XOOPS_ROOT_PATH."/class/xoopsformloader.php";


$email_tray = new XoopsFormElementTray(_US_EMAIL"<br />");
$email_text = new XoopsFormText("""email"2560$myts->htmlSpecialChars($email));
$email_option = new XoopsFormCheckBox("""user_viewemail"$user_viewemail);
$email_option->addOption(1_US_ALLOWVIEWEMAIL);
$email_tray->addElement($email_text);
$email_tray->addElement($email_option);

//$avatar_select = new XoopsFormSelect("", "user_avatar", $user_avatar);
//$avatar_array =& XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH."/images/avatar/");
//$avatar_select->addOptionArray($avatar_array);
//$a_dirlist =& XoopsLists::getDirListAsArray(XOOPS_ROOT_PATH."/images/avatar/");
//$a_dir_labels = array();
//$a_count = 0;
//$a_dir_link = "<a href="javascript:openWithSelfMain('".XOOPS_URL."/misc.php?action=showpopups&type=avatars&start=".$a_count."','avatars',600,400);">XOOPS</a>";
//$a_count = $a_count + count($avatar_array);
//$a_dir_labels[] = new XoopsFormLabel("", $a_dir_link);
//foreach ($a_dirlist as $a_dir) {
//    if ( $a_dir == "users" ) {
//        continue;
//    }
//    $avatars_array =& XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH."/images/avatar/".$a_dir."/", $a_dir."/");
//    $avatar_select->addOptionArray($avatars_array);
//    $a_dir_link = "<a href="javascript:openWithSelfMain('".XOOPS_URL."/misc.php?action=showpopups&type=avatars&subdir=".$a_dir."&start=".$a_count."','avatars',600,400);">".$a_dir."</a>";
//    $a_dir_labels[] = new XoopsFormLabel("", $a_dir_link);
//    $a_count = $a_count + count($avatars_array);
//}
//$avatar_select->setExtra("onchange='showImgSelected("avatar", "user_avatar", "images/avatar", "", "".XOOPS_URL."")'");
//$avatar_label = new XoopsFormLabel("", "<img src='images/avatar/blank.gif' name='avatar' id='avatar' alt='' />");
//$avatar_tray = new XoopsFormElementTray(_US_AVATAR, "&nbsp;");
//$avatar_tray->addElement($avatar_select);
//$avatar_tray->addElement($avatar_label);
//foreach ($a_dir_labels as $a_dir_label) {
//    $avatar_tray->addElement($a_dir_label);
//}

$reg_form = new XoopsThemeForm(_US_USERREG"userinfo""register.php""post"true);
$uname_size $xoopsConfigUser['maxuname'] < 25 $xoopsConfigUser['maxuname'] : 25;
$reg_form->addElement(new XoopsFormText(_US_NICKNAME"uname"$uname_size$uname_size$myts->htmlSpecialChars($uname)), true);
$reg_form->addElement($email_tray);
$reg_form->addElement(new XoopsFormText(_US_WEBSITE"url"25255$myts->htmlSpecialChars($url)));
$tzselected = ($timezone_offset != "") ? $timezone_offset $xoopsConfig['default_TZ'];
$reg_form->addElement(new XoopsFormSelectTimezone(_US_TIMEZONE"timezone_offset"$tzselected));
//$reg_form->addElement($avatar_tray);
$reg_form->addElement(new XoopsFormPassword(_US_PASSWORD"pass"1032$myts->htmlSpecialChars($pass)), true);
$reg_form->addElement(new XoopsFormPassword(_US_VERIFYPASS"vpass"1032$myts->htmlSpecialChars($vpass)), true);
$reg_form->addElement(new XoopsFormRadioYN(_US_MAILOK'user_mailok'$user_mailok));
if (
$xoopsConfigUser['reg_dispdsclmr'] != && $xoopsConfigUser['reg_disclaimer'] != '') {
    
$disc_tray = new XoopsFormElementTray(_US_DISCLAIMER'<br />');
    
$disc_text = new XoopsFormTextarea('''disclaimer'$xoopsConfigUser['reg_disclaimer'], 8);
    
$disc_text->setExtra('readonly="readonly"');
    
$disc_tray->addElement($disc_text);
    
$agree_chk = new XoopsFormCheckBox('''agree_disc'$agree_disc);
    
$agree_chk->addOption(1_US_IAGREE);
    
$disc_tray->addElement($agree_chk);
    
$reg_form->addElement($disc_tray);
}

//Captcha begin
if (is_readable(XOOPS_ROOT_PATH."/Frameworks/captcha/formcaptcha.php")) {
  include_once 
XOOPS_ROOT_PATH."/Frameworks/captcha/formcaptcha.php";
  
$reg_form->addElement(new XoopsFormCaptcha('''xoopscaptcha'true4121210));
}
//Captcha end




$reg_form->addElement(new XoopsFormHidden("op""newuser"));
$reg_form->addElement(new XoopsFormButton("""submit"_US_SUBMIT"submit"));
$reg_form->setRequired($email_text);
?>

نمونهء این هک هم در سایت خودم هستش:
http://www.chahwarz.com/register.php
موفق باشید!!
پی نوشت:
من تاپیک رو دوباره بازش کردم که اگه کسی مشکل داشتش بیاد اینجا دربارهء کپچا بگه!!

پیوست:


zip xoops-2016-register-captcha.zip اندازه: 6.02 KB; تعداد دانلود: 141



پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر(آموزش طریقهء گذاشتن کپچا Captcha در سایت خود)
پیام زده شده در: ۱۵:۵۲ شنبه ۱۹ خرداد ۱۳۸۶
#28
نمی تونه بحث نکنه!
نمی تونه بحث نکنه!

merlin
نمایش اطلاعات کاربر
عضو شده از:
۳:۲۸ یکشنبه ۲۴ خرداد ۱۳۸۳
گروه:
کاربران سایت
پیام: 84
سطح : 8
پست/روز : 0 / 178
روز/پست : 28 / 9459
درصد این سطح : 12
آفلاین
اين كدها و اين فايل فقط مخصوص زوپس 2.0.16 هستش يا ميشه براي 2.2.4 استفاده كرد؟


زوپس؟ زوپس!


پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر(آموزش طریقهء گذاشتن کپچا Captcha در سایت خود)
پیام زده شده در: ۱۶:۲۱ شنبه ۱۹ خرداد ۱۳۸۶
#29
...:::مدیر اصلی سایت:::...
...:::مدیر اصلی سایت:::...

voltan
نمایش اطلاعات کاربر
عضو شده از:
۱۴:۵۲ دوشنبه ۱۱ اردیبهشت ۱۳۸۵
از 127.0.0.1
گروه:
کاربران سایت
مدیران اصلی سایت
پیام: 3328
سطح : 44
پست/روز : 218 / 1092
روز/پست : 1109 / 51997
درصد این سطح : 69
آفلاین
فکر میکنم بشه توی ۲.۲ هم استفاده کرد ولی اول توی لوکال تست کن
البته چون دیتا بیس درست نمیکنه اگه مشکلی \یش اومد خیلی راحت فایل های قبلی رو جایگزین میکنی


تصویر کوچک شده


پاسخ به: يك مورد مشكوك، يك روبوت يا يك هكر(آموزش طریقهء گذاشتن کپچا Captcha در سایت خود)
پیام زده شده در: ۲۰:۴۷ شنبه ۱۹ خرداد ۱۳۸۶
#30

stranger
نمایش اطلاعات کاربر
عضو شده از:
۸:۴۹ شنبه ۴ آذر ۱۳۸۵
گروه:
کاربران سایت
پیام: 608
سطح : 22
پست/روز : 0 / 539
روز/پست : 202 / 24777
درصد این سطح : 57
آفلاین
ببینید اگه فریم ورکز رو آپ کرده باشید صد در صد اجرا باید بشه،
و این ها فقط چند خط هستند که باید اضافه بشن
برای مثال من خودم در این فایل ها از چند هک استفاده کردم و مثلا اگه کدی در خط 90 بوده الآن در خط 102 هستش شما باید اون خط ها رو در جاهای مناسب وارد کنید، این هک فایل ها رو از توی فریم ورکز می خونه پس شما نیاز به اون دارید در ثانی اگرم فریم ورکز رو آپ نکرده باشید این هک نشون داده نمی شه
و برای تمامی نسخه های زوپس کاربرد داره








شما می ‌توانید مطالب را بخوانید
شما نمی توانید عنوان جدید باز کنید
شما نمی توانید به عنوان‌ها پاسخ دهید
شما نمی توانید پیام‌های خودتان را ویرایش کنید
شما نمی توانید پیام‌های خودتان را حذف کنید
شما نمی توانید نظر سنجی اضافه کنید
شما نمی توانید در نظر سنجی ها شرکت کنید
شما نمی توانید فایل‌ها را به پیام خود پیوست کنید
شما نمی توانید پیام بدون نیاز به تایید بزنید
شما نمی توانید از نوع تاپیک استفاده کنید.
شما نمی توانید از HTML در نوشته های خود استفاده کنید
شما نمی توانید امضای خود را فعال/غیر فعال کنید

[جستجوی پیشرفته]