امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کاربرد خط اول در کدایگنایتر چیه؟ defined
#1
سلام
کاربرد خط اول در کلاسهای کدایگنایتر چیه و اگه بکاربرده نشه چه مساله ای رو بوجود میاره؟ منظورم خط زیر است:
کد php:
defined('BASEPATH') OR exit('No direct script access allowed'); 
پاسخ
#2
سلام
بعضی اسکریپت ها مثل وردپرس هستند که آدرس های اونها به صورت مستقیم فراخوانی میشوند مثل آدرس:
wordpress.com/wp-login.php

در اینجا فایل wp-login.php مستقیم صدا زده میشه اما در کدایگنایتر هیچ فایلی به صورت مستقیم قابل اجرا نیست و همه آدرس ها از طریق فایل index.php فراخوانی میشوند و  همه آدرس ها به صورت مجازی ساخته میشوند.

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

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

مثال ساده:
کد php:
<?php
//index.php
define("CI","Codeigniter");

include(
'child.php');

<?
php
// child.php
defined('CI') OR exit('No direct script access allowed'); 
لطفا قبل از ارسال هرگونه پست قوانین سایت را مطالعه کنید.
----
وب سایت میثم محمودی
پاسخ
 سپاس شده توسط h_qorbani


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان