پلاگین رایگان وردپرس

ریدایرکت در وردپرس و رفع خطای headers already sent

بسم الله الرحمن الرحیم.
جایی که از وردپرس استفاده میشه ، استفاده از توابعی php ی مثل Header کار صحیحی شاید نباشه،چرا؟چون هر بستر توسعه ای راه هایی برای راحتی کار کدنویس تدارک دیده،مثل کلاس wpdb و یا wp_redirect یا موارد مشابه.پس بهتره که از مسیر تدارک دیده شده حرکت کنیم تا کارمون استاندارد باشه.
خب این پست برای این نوشته شده که نحوه رفع خطای زیر رو بده:

[code]
Warning: Cannot modify header information - headers already sent by (output started at ...
[/code]

علت این خطا موارد متعددی میتونه باشه،گاها با ذخیره فایلهای مربوطه به صورت utf8 with out BOM این خطا رفع میشه.

اما مواقعی هست که نیاز به ریدارکت و یا هدایت کاربر دارید،قطعا طبق توصیه اول نیاز هست از تابع wp_redirect یا wp_safe_redirect استفاده بشه،این دوتا تابع هم از تایع header در PHP استفاده می کنند که ید طویلی در این نوع خطاها داره!

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

 

اما راه حل.

روش رفع خطای سشن در وردپرس

[code lang="php"]
function ob_start_at_wp_init() {
ob_start();
}
add_action('init', 'ob_start_at_wp_init');
[/code]

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

کد بالا رو در فایل توابع قالب یا functions.php بگذارید.

جلوگیری از اجرای کدکوتاه وردپرس

سلام،

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

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

اما راه حل جلوگیری از اجرای کد کوتاه در وردپرس بسیار ساده ست:

[code lang="php"] [[[hafez]]] [/code]

برای کدکوتاه های دارای محتوا هم به این صورت:

[code lang="php"]
[[shortcode]محتوا[/shortcode]]
[/code]
.

نمایش پستهای بدون تصویر شاخص

سلام،

تفاوت پستهایی که دارای تصویر شاخص هستند و پستهایی که تصویر شاخص ندارند در متایی با نام _thumbnail_id است،پس کافیه این متا رو فیلتر کنیم:

[code lang="php"]
$args = array();
$args['meta_key'] = '_thumbnail_id';
$args['meta_value'] = '';
$args['meta_compare'] = 'NOT EXISTS';
$posts = new WP_Query($args);
if ($posts->have_posts()) {
while ($posts->have_posts()) {
$posts->the_post();
}
}
[/code]

آیا وردپرس هم ویروسی می شود؟

بسم الله الرحمن الرحیم

اللهم صل علی محمد و آل محمد و عجل فرجهم

سلام علیکم

تا حالا به این فکر کرده اید که :

آیا وردپرس هم می تواند ویروس بگیرد؟

جواب “بله” هست،

اما چگونه و به چه صورت سیستم وردپرس ما می تواند دچار ویروس یا کدمخرب شود؟

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

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

  • شما(بله،خود شما) از یک جای نامعتبر و نا مطمئن قالب یا پلاگینی را دانلود و نصب کرده اید.
  • روی هاست نا مطمئن قرار دارید و یکی از سایتهای همجوارتان آلوده شده است.
  • و…(گزینه های دیگه ای هم هست که خیلی به بحث نمیخوره)

 

چگونه ویروس وردپرسی تکثیر می شود؟

خوشبختانه یا متاسفانه CMS محبوبی مثل وردپرس دارای امکانی به نام هوک یا فیلتر و یا اکشن و …می باشد که به هنگام یه رخداد می تواند فعال شود،مثال:شما پلاگینی را نصب می کنید و سایتتان آلوده است،کد آلوده می تواند به محض فعال شدن پلاگین(رخداد)،خود را به داخل پلاگین جدید هم تکثیر کند! این دقیقا عملکرد ویروس یا worm در دنیای کامپیوتر است.

چگونه می توان ویروس را تشخیص داد؟

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

فعلا تنها موردی که می توان خدمتتان ارائه کرد این هست:

  • خطای غیرعادی به هنگام نصب پلاگین و یا قالب جدید

نمونه خطا:

Fatal error: Cannot redeclare _verify_isactivate_widget() (previously declared in…

 

چه فایلهایی مورد هدف هستند؟

بنظرتان مهمترین فایل در هر قالب کدام است؟فایلی که اکثر قالبها دارای آن هستند؟

بله! functions.php

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

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

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

چگونه می توان سایت را پاکسازی کرد؟

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

 

چند نکته:

  1. در برخی موارد حتما یک به روزرسانی هم وردپرستون رو بکنید برای اطمینان.
  2. قابلهای غیرضرور رو حتما پاک کنید،اعم از پلاگین و یا قالب بلااستفاده.
  3. از سایتهایی که هویتشون مطمئن نیست خرید و دانلود انجام ندید مخصوصا سایتهایی که اسکریپتهای پولی و کم یاب رو نال می کنند.
  4. حتی الامکان سعی کنید در صورت موجود بودن اون قالب  و یا افزونه بر روی خود سایت وردپرس،حتما از اونجا عمل بارگیری رو انجام بدید(دانلود خودمون!).
  5. اگر مجبور به استفاده از یک اسکریپت هستید و اطمینان کافی ندارید کار رو به یک متخصص و انالیزور بسپارید.
  6. نهایتا اینکه علاج واقعه رو قبل از وقوع باید کرد،احتیاط!

 

wp-master.ir یکی از اساتید کوچک وردپرس

صفحه 7 از 7« بعدی...34567