رفتن به مطلب

خطر اجرای کدهای php در ابزارک وردپرس


پست های پیشنهاد شده

با سلام و احترام . دوستان واسه من یه سئوال پیش اومده که ممنون میشم راهنمایی بفرمایید .

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

میخواستم بدونم آیا این صحبت ها ، درسته و صحت داره یا خیر ؟

لینک به ارسال

سلام
محیط قابل اجرای کد‌(چه سمت سرور مثل php و چه سمت کلاینت مثل js) وقتی خطرناک هست که قابل دسترس برای کاربر باشه.

ابزارک ها (ابزارک متن) به خودیِ خود نمیتونن دستورات php اجرا کنن. اصلا برای اینکار یه ابزارک خاص نوشته شده که بتونین توش دستوراتphp وارد کنین تا اجرا بشه!
درضمن ابزارک ها که در پنل وردپرس شما قابل مدیریت و تنظیم هستند. پس سمت کاربر نیست که نگرانی وجود داشته باشه

لینک به ارسال
در 4 ساعت قبل، Kamali گفته است :

با سلام و احترام . دوستان واسه من یه سئوال پیش اومده که ممنون میشم راهنمایی بفرمایید .

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

میخواستم بدونم آیا این صحبت ها ، درسته و صحت داره یا خیر ؟

سلام

خیر ، php زبان سمت سرور هست و این مورد شامل موارد امنیتی نمیشه .

با کد زیر ابزارک متن پیش فرض  وردپرس ، phl رو هم اجرا میکنه .. باید در فانکشنز قرار بدید

// php code in widget
function php_execute($html){
if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
add_filter('widget_text','php_execute',100);

 

لینک به ارسال
در 2 ساعت قبل، Bright Moon گفته است :

سلام
محیط قابل اجرای کد‌(چه سمت سرور مثل php و چه سمت کلاینت مثل js) وقتی خطرناک هست که قابل دسترس برای کاربر باشه.

ابزارک ها (ابزارک متن) به خودیِ خود نمیتونن دستورات php اجرا کنن. اصلا برای اینکار یه ابزارک خاص نوشته شده که بتونین توش دستوراتphp وارد کنین تا اجرا بشه!
درضمن ابزارک ها که در پنل وردپرس شما قابل مدیریت و تنظیم هستند. پس سمت کاربر نیست که نگرانی وجود داشته باشه

آهان ، خیلی ممنون از راهنماییتون ، پس با این حساب ، جای هیچ نگرانی نیست و اون صحبت هایی که بنده در جاهای دیگه شنیده بودم ، صحت نداره . ممنونم از راهنماییتون

در ۱ ساعت قبل، nazanin123 گفته است :

سلام

خیر ، php زبان سمت سرور هست و این مورد شامل موارد امنیتی نمیشه .

با کد زیر ابزارک متن پیش فرض  وردپرس ، phl رو هم اجرا میکنه .. باید در فانکشنز قرار بدید


// php code in widget
function php_execute($html){
if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
add_filter('widget_text','php_execute',100);

 

خیلی ممنون . فقط ببخشید یه سئوال : الان این کدی که دادید باعث میشه که ابزارک متن وردپرس ، علاوه بر کارایی سابقش ، یه کاربرد دیگه هم پیدا کنه و بشه داخلش ، کدهای php قرار داد و حتی دیگه نیازی هم به نصب افزونه ی  php code widget هم نیست ؟ درست متوجه شدم ؟

ویرایش شده توسط Kamali
لینک به ارسال
در 13 ساعت قبل، Kamali گفته است :

آهان ، خیلی ممنون از راهنماییتون ، پس با این حساب ، جای هیچ نگرانی نیست و اون صحبت هایی که بنده در جاهای دیگه شنیده بودم ، صحت نداره . ممنونم از راهنماییتون

خیلی ممنون . فقط ببخشید یه سئوال : الان این کدی که دادید باعث میشه که ابزارک متن وردپرس ، علاوه بر کارایی سابقش ، یه کاربرد دیگه هم پیدا کنه و بشه داخلش ، کدهای php قرار داد و حتی دیگه نیازی هم به نصب افزونه ی  php code widget هم نیست ؟ درست متوجه شدم ؟

بله ، قابلیت های قبل که هست ، این هم اضافه میشه ، دقت کنید کدی که دادم رو انتهای فانکشنز قبل از بسته شدن php یعنی " <? " قرار بدید...

لینک به ارسال
در 21 ساعت قبل، nazanin123 گفته است :

بله ، قابلیت های قبل که هست ، این هم اضافه میشه ، دقت کنید کدی که دادم رو انتهای فانکشنز قبل از بسته شدن php یعنی " <? " قرار بدید...

ممنون 

ببخشید کدی میخواهم البته ابزارک رو سراغ دارم ولی من کد PHP میخواهم مثل کد فوق یا حال به هر شکل که:
وقتی اون ابزارک مقدار نداشت یا خالی بود اون ابزارک تو صفحه نمایش داده نشه!

موفق باشید

لینک به ارسال
در 5 ساعت قبل، interanet گفته است :

ممنون 

ببخشید کدی میخواهم البته ابزارک رو سراغ دارم ولی من کد PHP میخواهم مثل کد فوق یا حال به هر شکل که:
وقتی اون ابزارک مقدار نداشت یا خالی بود اون ابزارک تو صفحه نمایش داده نشه!

موفق باشید

سلام و عرض ادب به استارتر و کل دوستانی که این تاپیک رو مشاهده می کنند .

بهترین راه ، استفاده از افزونه هست ، با کد شاید کمی دردسر داشته باشه . اگه افزونه ش رو میخواید بفرمایید تا بهتون معرفی کنم .

ویرایش شده توسط تازه وارد
لینک به ارسال
در در ۱۳۹۵/۱۱/۱۶ ه‍.ش. at 15:21، nazanin123 گفته است :

بله ، قابلیت های قبل که هست ، این هم اضافه میشه ، دقت کنید کدی که دادم رو انتهای فانکشنز قبل از بسته شدن php یعنی " <? " قرار بدید...

خیلی ممنون بابت راهنمایی .

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

ببینید من میخوام کدهای یه قسمت از سایت که اسلایدر سایت هست رو بیارم داخل ابزارک ها ؛ واسه همین کل کدهای اسلایدر اون بخش رو کپی کردم و داخل ابزارک متنی که به کمک شما ، قابلیت اجرای کدهای php رو هم پیدا کرد قرار دادم ، اسلایدر نمایش داده میشه ، ولی بخش جی کوئریش مشکل دار شده و افکت جا به جایی بین اسلایدها دچار تداخل شده !

کدهای بخش اسلایدر که در ابزارک متن قرار دادم :

        <div id="slider" class="nivoSlider">
<?php
$counter = 1;
$cats_slider = implode(',', ot_get_option('cats_slider','0') );
$num_post_slider = ot_get_option('num_post_slider');
$tmp_query = $wp_query;
$wp_query = new WP_Query();
$wp_query->query(array( 'cat' => $cats_slider, 'posts_per_page' => $num_post_slider ));
if($wp_query->have_posts()):
while ($wp_query->have_posts()):
$wp_query->the_post();?>
    <img src="<?php if (has_post_thumbnail()){
	$img_id = get_post_thumbnail_id($post->ID);
	$src = wp_get_attachment_image_src($img_id, 'slider'); echo $src[0];
	} else if (ot_get_option('defult_img')) {
		$image_id = get_image_id(ot_get_option('defult_img'));
		$image_thumb = wp_get_attachment_image_src($image_id, 'slider');
		echo $image_thumb[0];
	} ?>" alt="<?php the_title(); ?>" title="#htmlcaption<?php echo $counter; $counter++; ?>" />
		 <?php 
endwhile;
endif;
$wp_query = $tmp_query;
wp_reset_query();
		?>
        </div>

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

راهکار چیه ؟ ممنون میشم راهنمایی کنید .

لینک به ارسال
در در 2/5/2017 at 18:25، تازه وارد گفته است :

سلام و عرض ادب به استارتر و کل دوستانی که این تاپیک رو مشاهده می کنند .

بهترین راه ، استفاده از افزونه هست ، با کد شاید کمی دردسر داشته باشه . اگه افزونه ش رو میخواید بفرمایید تا بهتون معرفی کنم .

ممنون ولی میخواهم سبد خرید EDD در صفحه پرداخت نمایش داده نشه که نمیخواهم از ابزارک خود EDD استفاده کنم و از یک افزونه ابزارک استفاده کردم که خوب اون در صفحه پرداخت هم ابزارک سبد خرید رو نمایش میده!

به هر حال ممنون

لینک به ارسال

سلام ! خب خطای جاوااسکریپت یا جیکوئری را بزارید این کد های php که دادین فایده نداره اگه مشکلتون تداخل توی جی کوئری هست .....

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

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

لینک به ارسال
در 2 ساعت قبل، RedPlus گفته است :

سلام ! خب خطای جاوااسکریپت یا جیکوئری را بزارید این کد های php که دادین فایده نداره اگه مشکلتون تداخل توی جی کوئری هست .....

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

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

خیر ، مشکل تداخل در جی کوئری نیست ، من الان در صفحه اصلی چند تا اسلایدر دارم که به خوبی کار میکنه و هیچ تداخلی هم ، با هم ندارن ، تداخل فقط زمانی ایجاد میشه که من کدهای مربوط به یکی از اسلایدرها رو ( که کدش رو هم در بالا قرار دادم ) ، از صفحه اصلی کات کنم و در ابزارک php قرار بدم .

آیا واسه اینکه اون اسلایدر در ابزارک php کار کنه باید کل کدهاش رو در ابزارک پیست کنم ؟ ( یعنی کاری که من کردم درسته ؟ )

لینک به ارسال
در در 2/5/2017 at 19:04، Kamali گفته است :

ببینید من میخوام کدهای یه قسمت از سایت که اسلایدر سایت هست رو بیارم داخل ابزارک ها ؛ واسه همین کل کدهای اسلایدر اون بخش رو کپی کردم و داخل ابزارک متنی که به کمک شما ، قابلیت اجرای کدهای php رو هم پیدا کرد قرار دادم ، اسلایدر نمایش داده میشه ، ولی بخش جی کوئریش مشکل دار شده و افکت جا به جایی بین اسلایدها دچار تداخل شده !

 

والا ما رو حرف های خودتون میگیم . کد php که میگید کپی و پیست کردین اگه مشکلی داشت پس تو صفحه اصلی هم مشکل داشت ....

برا این که مطمئن بشید ابزارک تغییری ایجاد نمیکنه همینطوری برید این کد ها رو بزاردی توی sidebar.php ببینید عادی جواب میده یا نه

انلاین هست سایت ؟

لینک به ارسال
در 9 ساعت قبل، RedPlus گفته است :

والا ما رو حرف های خودتون میگیم . کد php که میگید کپی و پیست کردین اگه مشکلی داشت پس تو صفحه اصلی هم مشکل داشت ....

برا این که مطمئن بشید ابزارک تغییری ایجاد نمیکنه همینطوری برید این کد ها رو بزاردی توی sidebar.php ببینید عادی جواب میده یا نه

انلاین هست سایت ؟

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

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

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

لینک به ارسال

خب کار منطقی که باید بکنید این که خودتون ی ابزارک درست کنید شاید با ساختن شورت کد هم بشه  اما منطقی ترین راه اینه که این اسلایدر تبدیل کنید به یک ابزارک

اگه هم دستی خودتون قابلیت اجرا php اضافه کردین ی دفعه هم با افزونه های این کار تست کنید ..

https://wordpress.org/plugins/php-code-widget/screenshots/

زیاد هست ....

لینک به ارسال
در در ۱۳۹۵/۱۱/۲۲ ه‍.ش. at 17:05، RedPlus گفته است :

خب کار منطقی که باید بکنید این که خودتون ی ابزارک درست کنید شاید با ساختن شورت کد هم بشه  اما منطقی ترین راه اینه که این اسلایدر تبدیل کنید به یک ابزارک

 

بنده در این مدت ، هرکاری به ذهنم میرسید کردم ؛ میشه بفرمایید چه جوری میشه ابزارک ساخت واسه این اسلایدر ؟

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

چه جوری میشه یه ابزارک مخصوص اسلایدرها و یا حداقل یک شورت کد واسه هر اسلایدر ایجاد کرد ؟ شاید اینجوری جواب بده .

در در ۱۳۹۵/۱۱/۲۲ ه‍.ش. at 17:05، RedPlus گفته است :

اگه هم دستی خودتون قابلیت اجرا php اضافه کردین ی دفعه هم با افزونه های این کار تست کنید ..

https://wordpress.org/plugins/php-code-widget/screenshots/

 

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

شما که در این زمینه واردید ممنون میشم کمک کنید تا این مشکل حل شه .

لینک به ارسال

خوب ی سوالی هست این اسلایدر مگه چی داره که حتما باید همین باشه ؟ اینا همه اسلایدر خوب با ابزارک .....

ولی خوب ساخت ابزارک چیزی نیست که من اینجا توضیح بدم ولی لینک زیر کمک میکنه خودتونم جستجو کنید ....

http://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-wordpress-widget/

https://premium.wpmudev.org/blog/create-custom-wordpress-widget/?mkpp=b&utm_expid=3606929-97.J2zL7V7mQbSNQDPrXwvBgQ.1&utm_referrer=https%3A%2F%2Fwww.google.com%2F

https://codex.wordpress.org/Widgets_API

سایت ایرانی رو هم خودتون جستجو کنید مطلب هست ...

لینک به ارسال
در ۱ ساعت قبل، RedPlus گفته است :

خوب ی سوالی هست این اسلایدر مگه چی داره که حتما باید همین باشه ؟ اینا همه اسلایدر خوب با ابزارک .....

ولی خوب ساخت ابزارک چیزی نیست که من اینجا توضیح بدم ولی لینک زیر کمک میکنه خودتونم جستجو کنید ....

http://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-wordpress-widget/

https://premium.wpmudev.org/blog/create-custom-wordpress-widget/?mkpp=b&utm_expid=3606929-97.J2zL7V7mQbSNQDPrXwvBgQ.1&utm_referrer=https%3A%2F%2Fwww.google.com%2F

https://codex.wordpress.org/Widgets_API

سایت ایرانی رو هم خودتون جستجو کنید مطلب هست ...

تشکر .

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

از طرفی من از خدامه اگه بتونم یک اسلایدر خوب با ابزارک با امکاناتی که گفتم پیدا کنم .

شاید باور نکنید ، ولی الان در حدود یک سال هست که دارم دنبال چنین افزونه ی اسلایدری با امکاناتی که گفتم میگردم ، ولی از بین این همه اسلایدر ، اون چیزی که مدنظرمه با همون امکاناتی که گفتم رو هنوز گیر نیاوردم !

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

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

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

واقعا به همه دری زدم ولی هنوز که هنوزه گیر کردم تو همین مورد .

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

لینک به ارسال
  • 2 هفته بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...