[هک ارسال مطلب توسط کاربر مهمان]

آموزش دیتالایف انجین ارسال مطلب بدون نیاز به عضویت

هک ارسال مطلب توسط کاربر مهمان بدون نیاز به عضویت نسخه Datalife Engine 11 همان طور که اطلاع دارید سیستم مدیریت محتوا دیتالایف انجین قابلیت های بسیاری دارد و با استفاده از آن می توانید هر نوع سایتی را راه اندازی کنید. با وجود ماژول ها و امکانات گسترده آن باز هم برخی از کاربران می خواهند در سیستم تغییراتی را ایجاد کنند که خواسته آن ها را برآورده کند. یکی از این تغییرات یا در اصطلاح هک ها ، ارسال مطلب توسط کاربر مهمان Guest است. این کاربر در سیستم با UserID شماره 5 شناخته می شود و در قسمت تنظیمات گروه های کاربری امکان فعال سازی برخی از قسمت ها از جمله ارسال مطلب وجود ندارد. در این آموزش که در نسخه 11 تست شده می توانید این امکان را برای کاربران مهمان فراهم کنید.

 

آموزش مراحل کار :

1- یک کاربر با نام guest در قسمت مدیریت ایجاد (گروه کاربری : عضو سایت) کنید.


2- فایل engine/modules/addnews.php را باز کرده و در ابتدای فایل به دنبال کد زیر بگردید:

 

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

 

 3- بعد از کد بالا این کد را قرار دهید :

 

if($member_id ['user_group'] == '5'){
    include("engine/api/api.class.php");
    $member_id = $dle_api->take_user_by_name('guest');
    $is_logged = true;}

 

 

4- وارد قسمت مدیریت سیستم شوید، به قسمت گروه های کاربری رفته، گروه میهمان را انتخاب کنید، سپس از تب مطالب، ارسال مطلب را بر روی "بلی" تنظیم کنید.حال کاربران میهمان نیز میتوانند مطلب ارسال کنند، همچنین به قسمت مدیریت گروههای کاربری رفته، گروه کاربران میهمان را انتخاب کرده، از تب مطالب گزینه "فعال بودن آپلود تصاویر برای کاربران" را بر روی "بلی" تنظیم کنید. اما یک مشکل هنوز پا برجاست، میهمانان نمیتوانند فایل و یا عکس آپلود کنند. برای رفع این مشکل، ادامه مراحل رو انجام دهید. 

 

فایل engine/modules/bbcode.php را باز کرده و کد زیر را پیدا کنید:

 

if ($is_logged AND

 

5- بجای AND در کد فوق ، عبارت OR را جایگزین کنید.

 

6- فایل engine/inc/files.php را باز کرده و کد زیر را پیدا کنید:

 

if( $member_id['user_group'] != 1 ) {    msg( "error", $lang['index_denied'], $lang['index_denied'] );}

 

7- کد بالا را کامل حذف کنید و یا آن را کامنت کنید یعنی ابتدای آن */ و انتهای آن /* قرار دهید.

 

8- فایل engine/ajax/upload.php را باز کرده و به دنبال کد زیر بگردید :

 

if( ! $is_logged )

 

9- همانند شکل زیر از دستور if اول تا پایان دستور if دوم را حذف یا کامنت کنید. (برای مشاهده تصویر در سایز بزرگتر روی آن کلیک کنید.)

 

برای دیدن در سایز بزرگتر کلیک کنید

 

 10- فایل engine/classes/uploads/upload.class.php را باز کرده دنبال کد زیر بگردید :

 

elseif ( in_array( $type, $this->allowed_extensions ) AND $user_group[$member_id['user_group']]['allow_image_upload'] ) {

 

11- عبارت AND در کد فوق را به OR تغییر دهید.

 

خب تمام شد. اکنون کاربران میهمان می توانند مطلب و برای مطلب خود نیز هم درقسمت ادیتور و هم در فیلدهای اضافی ، تصویر آپلود کنند.

 

نکته پایانی :

لازم به ذکر است مطالب ارسال شده توسط کاربر مهمان با نام کاربری "guest" ارسال می شود و از مشکلاتی که بعد از این هک به وجود می آید این است که بعد از ارسال مطالب زیاد توسط کاربران مهمان ، مشخص نیست مطالب مربوطه به چه کسی است. یعنی اگر بعد از مدتی یکی کاربران مهمان قصد عضویت در سایت را داشته باشد ، شما باید امکانی را فراهم کنید که بعد از عضویت به لیست مطالبی که قبلا بصورت مهمان فرستاده دسترسی پیدا کند.
برای حل این مشکل پیشنهاد ما این است که یک فیلد اضافی با نام "شماره موبایل یا نام کاربری"  برای مطالب خود ایجاد کنید. و آن را نیز اجباری قرار دهید. و در قسمت تنظیمات انتشار مطالب را تاییدی کنید. یعنی مطالب بعد از تایید مدیر سایت منتشر شود.

مدیر سایت قبل از انتشار مطالب ، محتوای فیلد اضافی را در قسمت نویسنده کپی کند. با اینکار بعد از عضویت کاربر با آن شناسه ، لیست مطالب به پروفایل کاربری او بصورت خودکار اضافه می شود.

 

منبع قسمت اول : dle-news.ir و دیتالایف انجین


دسته بندی : فروشگاه فایل | بازدیدها: 99 بار

تگ ها: فایــل اسـتور

دیتالایف ارسال مطلب بدون عضویت دیتالایف انجین ارسال مطلب بدون نیاز به عضویت در سایت ارسال مطلب دیتالایف بدون عضویت حذف عضویت دیتالایف انجین ارسال مطلب توسط کاربر مهمان در دیتالایف ارسال پست توسط مهمان دیتالایف دیتالایف انجین ارسال مطلب در سایت توسط کاربر guest addnews datalife engine by guest user


ارسال نظر

نام:*
ایمیل:*
متن نظر:
کد را وارد کنید: *
عکس خوانده نمی شود

000