رفتن به مطلب

چگونگی محافظت از فایل های قالب در مقابل باز شدن به صورت مستقیم


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

دوستان سلام

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


name.com

اما اگر آدرس فایل های قالب را مانند زیر وارد کنیم


name.com/wp-content/themes/new/index.php

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


Fatal error: Call to undefined function get_post_meta() in /home/name/public_html/wp-content/themes/new/index.php on line 1


Fatal error: Call to undefined function get_header() in /home/name/public_html/wp-content/themes/new/index.php on line 2

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

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

www.smashingmagazine.com

http://1pezeshk.com

http://www.wpbeginner.com

http://premium.wpmudev.org/blog

ویرایش شده توسط سعید شعبانی
لینک به ارسال

1


if(! function_exists("bloginfo"))
return;

2


if(!defined('ABSPATH'))
die('Direct access of plugin file not allowed');

  • امتیاز 3
لینک به ارسال

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

لینک به ارسال

کدهای PHP هست باید در ابتدای فایل قرار دهید

در اکثر افزونه‌ها از این روش استفاده میشود

  • امتیاز 1
لینک به ارسال

درسته ولی من الان کد را به صورت زیر اول فایل index.php گذاشتم ولی تغییری نکرد


<?php if(! function_exists("bloginfo")) return; ?>

لینک به ارسال

کد چیز خاصی نداره

اما بازم تست شد

و مشکلی نداره

در صورتی که تابع نباشه

صفحه سفید نمایش داده میشه

به نوعی در دستور return میشود و ادامه نمی‌دهد

  • امتیاز 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...