هک اضافه کردن آپلود فایل به فرم تماس با ما
امکانات:
- امکان تعیین میزان مجاز حجم فایل آپلود (مثلا حداکثر 1024 کیلوبایت)
- امکان تعریف پسوندهای مجاز (jpg , *.gif , *.zip , *.rar , *.doc , *.pdf , *.bmp , *.txt.*)
آموزش نصب
1- یک فولدر بنام feedback در پوشه uploads ایجاد کنید و سطح دسترسی آنرا روی 777 بگذارید.
2- فایل engine/modules/feedback.php را باز کنید،
و به دنبال کد زیر بگردید:
پس از آن کد زیر را قرار دهید(config):
به دنبال کد زیر بگردید:
به دنبال کد زیر بگردید:
به دنبال کد زیر بگردید:
3- کد زیر را در جای مناسبی از فایل feedback.tpl قالب سایت قرار دهید:
مشکل اجباری بودن ضمیمه حل شد.
در صورت برخورد با هرگونه مشکل لطفا در قسمت نظرات همین پست اعلام کنید.
2- فایل engine/modules/feedback.php را باز کنید،
و به دنبال کد زیر بگردید:
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
die( "Hacking attempt!" );
}
پس از آن کد زیر را قرار دهید(config):
$file_allowed = array("gif","jpg","jpeg","bmp","pdf","txt","doc","rar","zip");
$file_path = "uploads/feedback/";
$file_size = "1024"; //kb
$file_path = "uploads/feedback/";
$file_size = "1024"; //kb
به دنبال کد زیر بگردید:
$_SESSION['sec_code_session'] = false;
پس از آن کد زیر را قرار دهید: $file_size = Intval($file_size) * 1024;
if( (trim($_FILES['file']['name']) != "") And ((!in_array(end(explode(".",strtolower($_FILES["file"]["name"]))),$file_allowed)) Or ($_FILES["file"]["size"] > $file_size)) ) {
$stop .= "<li>فرمت يا حجم فايل مجاز نيست.</li>";
}
if( (trim($_FILES['file']['name']) != "") And ((!in_array(end(explode(".",strtolower($_FILES["file"]["name"]))),$file_allowed)) Or ($_FILES["file"]["size"] > $file_size)) ) {
$stop .= "<li>فرمت يا حجم فايل مجاز نيست.</li>";
}
به دنبال کد زیر بگردید:
include_once ENGINE_DIR . '/classes/mail.class.php';
قبل از آن کد زیر را قرار دهید: $file_path = $file_path . time() . "_" . strtolower(basename($_FILES["file"]["name"]));
if(move_uploaded_file($_FILES['file']['tmp_name'], $file_path)) {
$message .= "\n attachment:".$config["http_home_url"].$file_path;
}
if(move_uploaded_file($_FILES['file']['tmp_name'], $file_path)) {
$message .= "\n attachment:".$config["http_home_url"].$file_path;
}
به دنبال کد زیر بگردید:
<form
و با کد زیر جایگزین کنید:<form enctype=\"multipart/form-data\"
3- کد زیر را در جای مناسبی از فایل feedback.tpl قالب سایت قرار دهید:
<input type="file" name="file">
مشکل اجباری بودن ضمیمه حل شد.
در صورت برخورد با هرگونه مشکل لطفا در قسمت نظرات همین پست اعلام کنید.
سوالات متداول
چرا این هک روی نسخه های بالاتر از 9.2 کار نمی کند؟
در نسخه های بالا تر از 9.2 فرم تماس با ما بصورت ای جکس ارسال می شود و این عمل مانع آپلود شدن فایل روی سرور می شود.
برای غیر فعال کردن ای جکس فایل engine/modules/feedback.php را باز کنید،
کد زیر را پیدا کنید و حذف کنید:
در نسخه های بالا تر از 9.2 فرم تماس با ما بصورت ای جکس ارسال می شود و این عمل مانع آپلود شدن فایل روی سرور می شود.
برای غیر فعال کردن ای جکس فایل engine/modules/feedback.php را باز کنید،
کد زیر را پیدا کنید و حذف کنید:
$(function(){
$('#sendmail').submit(function() {
if(document.sendmail.subject.value == '' || document.sendmail.message.value == '') {
DLEalert('{$lang['comm_req_f']}', dle_info);
return false;
}
var params = {};
$.each($('#sendmail').serializeArray(), function(index,value) {
params[value.name] = value.value;
});
params['skin'] = dle_skin;
ShowLoading('');
$.post(dle_root + "engine/ajax/feedback.php", params, function(data){
HideLoading('');
if (data) {
if (data.status == "ok") {
$('#dle-content').html(data.text);
} else {
if ( document.sendmail.sec_code ) {
document.sendmail.sec_code.value = '';
reload();
} else {
Recaptcha.reload();
}
DLEalert(data.text, dle_info);
}
}
}, "json");
return false;
});
});
$('#sendmail').submit(function() {
if(document.sendmail.subject.value == '' || document.sendmail.message.value == '') {
DLEalert('{$lang['comm_req_f']}', dle_info);
return false;
}
var params = {};
$.each($('#sendmail').serializeArray(), function(index,value) {
params[value.name] = value.value;
});
params['skin'] = dle_skin;
ShowLoading('');
$.post(dle_root + "engine/ajax/feedback.php", params, function(data){
HideLoading('');
if (data) {
if (data.status == "ok") {
$('#dle-content').html(data.text);
} else {
if ( document.sendmail.sec_code ) {
document.sendmail.sec_code.value = '';
reload();
} else {
Recaptcha.reload();
}
DLEalert(data.text, dle_info);
}
}
}, "json");
return false;
});
});
تصاویر