۵ محمدجوکار
کجاها نباید از این موضوع، استفاده کرد؟
جامعه پی اچ پی ایجاد شده در ۲۹ آذر ۱۴۰۱

عرض ادب و احترام

من در اکثر فایل‌های پروژم، این خط کد رو اضافه کردم

defined('BASE_PATH') OR die('Invalid Access!');

وقتی در فایل constants.php و init.php این خط کد رو اضافه کردم، دیگه صفحه اصلی پروژه بالا نمیومد و خب نتونستم توی این دو فایل، این کار رو انجام بدم!

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

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

خواستم بدونم دقیقا در چه فایل‌هایی باید این کدرو اضافه کرد؟ یا آیا روش خاص دیگه‌ای داره که من هم بخوام این کد رو استفاده کنم و هم به این ارورها نخورم؟

پروژه رو ضمیمه میکنم، شاید وقت کنید و ببینید.

سلام محمد عزیز

شما دارید به این فایل‌ها درخواست post میکنید بنابراین باید به شروط درخواست پست رو هم اضافه کنید

if($_SERVER['REQUEST_METHOD']!=='POST' || !file_get_contents("php://input"))
die('invalid access');
احمدرضا فاطمی کیا ۲۹ آذر ۱۴۰۱، ۱۲:۴۵
|| !file_get_contents("php://input"))

این دقیقا معنیش چی میشه؟ یا برای چیه؟ من نمیفهممش


محمدجوکار ۲۹ آذر ۱۴۰۱، ۱۲:۵۰

برای دریافت درخواست پست به صورت json از طرف درخواستی خارج از برنامه و یک حالت api مانند هست.

در پروژه نقشه 7map به این مورد اشاره میشه و کامل توضیح داده میشه.

احمدرضا فاطمی کیا ۲۹ آذر ۱۴۰۱، ۱۲:۵۵

سلام،

این خط

defined('BASE_PATH') OR die('Invalid Access!');

بررسی که میکنه ثابت BASE_PATH تعریف شده و وجود داره یا نه اگر تعریف نشده پروژه die میشه(OR die) چون این ثابت مهمه.

شما این ثابت رو اگر داخل فایل constants.php معرفی کرده باشین یعنی

define('BASE_PATH' , '...');

بنابراین قبل از تعریف نباید بیاریدش بعد از تعریف باید با defined چک کنید.

بهترین پاسخ
محسن موحد ۲۹ آذر ۱۴۰۱، ۱۳:۰۶

ممنون جناب فاطمی کیا

چون اون موضوع مربوط به آیندست و درکش نمیکنم، صبر میکنم تا آموزشش ببینم

و آقای موحد بسیارتشکر

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

محمدجوکار ۲۹ آذر ۱۴۰۱، ۱۳:۳۲