مشکل در فراخوانی فایل php

سوال

سلام بنده فایل config رو توی فایل دیگه ای توی زیر پوشه بصورت require ‘../config.php’ اینکلود کردم. همه چی حله اما مشکل اینجاست توی فایل کانفیگ با کد زیر آدرس صفحه اسلی هاست رو میگیرم و میذارم تو متغیر اما وقتی میخوام توی فایل های زیرپوشه از اون آدرس استفاده کنم به علت اینکلود کردن فایل کانفیگ، کد زیر آدرس اون زیرپوشه رو میده چکار کنم؟

$script_path = (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? “https” : “http”) . “://”.$_SERVER[‘HTTP_HOST’] .dirname($_SERVER[‘PHP_SELF’]) . “/”;

ضمنا توی ادیتور آیکن https://beporsam.ir/wp-content/uploads/2017/04/code.png  رو ندیدم که کد رو توی اون قرار بدم:

حل شد 0
, ۱۴۰۰/۶/۲۴ ۱۴:۰۶:۵۲ 1 پاسخ ها کاربر تازه 0

پاسخ ها ( 1 )

    0
    ۱۴۰۰/۶/۲۴ ۲۱:۱۶:۴۰

    سلام دوست عزیز

    این کدی که نوشتید امنیت کمی دارد، دلیلش هم اینه که کاربر میتونه http_post و requrest_uri رو با هر مقداری که میخواد تنظیم کنه!

    برای گرفتن آدرس اصلی سایت، میتونید راه ساده تر و با امنیت بهتری رو انجام بدید، مثلا به این صورت که در فایل config(فایلی که در تمامی صفحات اینکلود میشه)، بیاید و یک ثابت یا همون define تعریف کنید، به این شکل:

    بعد هر جا که خواستید، آدرس سایت رو فراخوانید کنید کافیه تا URL رو چاپ کنید، مثلا برای آدرس یک عکس:

    موفق باشید.

      0
      ۱۴۰۰/۶/۲۵ ۱۱:۳۵:۲۰

      اخه میخوام آدرس فایل کانفیگ رو خود اسکریپت بگیره نه اینکه من بهش بدم

      کاربر چجوری میتونه اون دو مقدار رو خودش تنظیم کنه؟

        0
        ۱۴۰۰/۶/۲۷ ۲۱:۱۴:۴۱

        سلام

        ببینید دوست عزیز شما وقتی از تابع زیر استفاده میکنید، آدرس مسیر فعلی رو برمیگردونه، حالا هر کجا ازش استفاده بشه، آدرس همونجا رو برمیگردونه:

        از این تابع بیشتر برای Brudcumb(یا همون ناوبری استفاده میشه) و form ها استفاده میشه که دیگه نیازی به آدرس دادن کامل نباشه

        و اما در رابطه با امنیت پایین این مبحث که کاربر چطوری میتونه داده های خودش رو ارسال کنه، انشاءالله یه مقاله ای راجبش تو سایت مینویسم.

        موفق باشید.

         

         

        بهترین پاسخ

ارسال یک پاسخ