۸ محمدجوکار
دسترسی مستقیم به صفحات:‌ من کلا متوجه نشدم راستش
جامعه پی اچ پی ایجاد شده در ۲۵ مهر ۱۴۰۱

2478-Screenshot (525).png

عرض سلام و احترم

یه سوال:

خط بالا داره میگه اگر این صفحه که کد رو توش نوشتیم باز شد، و ثابت BASE_PATH «که هر چیز دیگه ای هم میتونه باشه » مستقیما درونش نبود، برو die رو اجرا کن؟؟؟؟

ولی عمیق واقعا متوجه نشدم چی به چیه؛ هم درست حسابی دیفایند رو نفهمیدم، و هم کارکرد عملگرهای and و or رو ...

به کمک این پیام که به یکی از بچه‌ها داده بودید چیزهایی برام روشن‌تر شد ولی بازهم در کل مشکل دارم توش ..

34bf-Screenshot (526).png

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

یعنی ما اصلا نیاز نداریم برخی از صفحاتمون رو مستقیما باز کنیم

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

در این صورت میایم در اول هرکدوم ازاین صفحات، شرطی رو اجرا میکنیم، که در حقیقت فالس هستش «حالا با هر سینتکسی»

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

در نهایت هم پیامی که ما نوشتیم، روی صفحه‌ش نشون داده میشه؟؟

من این برداشت رو کردم

اگر اینا درست باشن، فقط مشکلم در کارکرد عملگرهای and و or، به روشی که استاد گفتن هستش


محمدجوکار ۲۵ مهر ۱۴۰۱، ۰۷:۰۵

سلام محمد جان

توضیحی که قبلا دادم و عکسش رو گذاشتی درسته

تشریح خودت میشه use case این مورد و این هم درسته

and میگه هر دو طرف درست باشه

or هم میگه حتی یکی

برای همین اگر defined مقدار true رو برگردونه مفسر php شرط بعدی که die هست رو نمیره اصلا سراعش

موفق باشید ?

محمد گازری ۲۵ مهر ۱۴۰۱، ۰۷:۴۴

0bde-Screenshot (525).png

میشه لطفا این کد رو بخونید برام! فکر میکنم بهتر متوجهش میشم

محمدجوکار ۲۵ مهر ۱۴۰۱، ۰۷:۴۸

اگر base_path تعریف شده بود که هیچی (برو دستورات بعدی و نمیخواد بری سراغ بعد از OR) اگر نه برو سراغ شرط بعد

شرط بعد میگه die کن

محمد گازری ۲۵ مهر ۱۴۰۱، ۰۷:۵۱

حالا همین خط کد اگر با and بود چی میشد؟؟؟

محمدجوکار ۲۵ مهر ۱۴۰۱، ۰۷:۵۴

امتحان کن!

سعی کن خودت بهش پی ببری

محمد گازری ۲۵ مهر ۱۴۰۱، ۰۷:۵۷

خوندن همش راحته واقعا کار سختی نیست. من فقط معنی این or و and رو وسطشون نمیفهمم؛‌ یعنی مفهومشو متوجه نمیشم

خب آره همونطور که گفتید معانی این اپریتور‌های منطقی میشه:

and میگه هر دو طرف درست باشه

or هم میگه حتی یکی

ولی من این معانیو نمیتونم وسط این کدها جایگذاری کنم برا خودم

صدبار تلاش کردم، متوجه نشدمش

محمدجوکار ۲۵ مهر ۱۴۰۱، ۰۸:۰۱

سلام and میگه 2 یا هر تعداد شرط باشه همه باید برقرار باشن یا به عبارتی true برگردونن تا بره ادامه کدها رو اجرا کنه

or میگه 2 یا هر تعداد شرط هست اگر یکیشون هم برقرار باشه یا به عبارتی true گردنه کافیه و کاری به بقیه نداره


در کد شما به زبان عامیانه می‌گه BASE_PATH باید برقرار یا در غیر اینصورت برو بمیر ;-) البته اجرای اسکریپت می‌میره ( جلوش گرفته میشه - جلوگیری مستقیم به فایل مورد نظر )

بهترین پاسخ
وحید صالحی ۲۵ مهر ۱۴۰۱، ۱۰:۰۲