PDA

View Full Version : سوال: جلوگیری از ورد به صفحه ی افزونه در وردپرس



ravand
یک شنبه 15 آذر 1394, 19:36 عصر
سلام
من این سوال رو قبلاً هم پرسیده بودم ولی کسی جواب درستی نداد.
ببینید مثلاً یه افزونه ای برای وردپرس می نویسیم که در قسمت مدیریت وردپرس برای خود مدیر بعد از لوگین کردن قابل دسترس است و مدیر با کلیک روی لینک داخل قسمت مدیریت و رفتن به مثلاً ادرس زیر میتونه به افزونه دسترسی داشته باشه:

http://localhost/wordpress/wp-admin/admin.php?page=wp-name-plugin
حالا یه نفر میاد این آدرس را باز میکنه:

http://localhost/wordpress/wp-content/plugins/name-plugin/name-plugin.php
راحت میتونه به مدیریت افزونه دسترسی داشته باشه.
برای حل این مشکل اول فایل امدم اینو نوشتم:


if ( !function_exists( 'add_action' ) ) {
die('شما اجازه ی ورود ندارید.');
exit;
}

و تا اینجا مشکل حل شد.
ولی خب یه وقت پیش میاد شما یک صفحه ای رو با ایجکس میگیری و توی صفحه ی اصلی افزونه نمایش میدی. اگه دستور بالا رو توی این صفحه نوشته باشی میاد این پیام رو بهت میده:"شما اجازه ی ورود ندارید."
خب پیشنهاد شما برای رفع این مشکل چیه؟
حتما توی وردپرس باید برای لوگین کردن از سشن استفاده شده باشه. دستور سشن اون چی هست؟
مثلاً من اینطوری می نویسم:


if(isset($_SESSION['user'])) {

به جای user توی وردپرس چیه؟
متشکرم.

ravand
پنج شنبه 19 آذر 1394, 16:34 عصر
مشکلم حل شد:

include("../../../wp-config.php");
if(!is_user_logged_in()) {
die('شما اجازه ی ورود ندارید.');
exit;
}