سوال در مورد include_once

saeed222

Member
سلام

بطور مثال من 2 تا صفحه با نام های 1 و 2 دارم که متغییر و مقدار آن در فایل 1 است و اجرای دستور آن در فایل 2 است به شکل زیر:

1.php
PHP:
<?php
$n="ali";
include_once('2.php');

?>
2.php

PHP:
<?php
echo $n;
?>
که در این حالت کار می کند و نام علی نمایش داده می شود ولی در صورتی که فایل 2 را در هاست دیگری قرار می دهم مقدار متغییر موجود در فایل 1 در فایل 2 جایگذاری نمی شود و کار نمی کند

1.php

PHP:
<?php
$n="ali";
include_once('http://domain.com/2.php');
?>
آیا روشی برای حل این مشکل وجود دارد

با تشکر
 
آخرین ویرایش:

P.H.P

Member
سلام

این مشکل به حساب نمیاد

شما نمیتونید فایل PHP رو از سایت دیگری Include کنید.

روش های دیگه ای وجود داره که محتوا رو دریافت کنی و از eval یا replace استفاده کنی


اگه بتونی بگه میخوای دقیقا چکار کنی شاید بتونم راهنماییت کنم


موفق
 

saeed222

Member
ممنون از پاسخ ولی صفحات دیگر سایتها را می توان Include کرد ولی بطور مستقل عمل می کنن

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

تشکر
 

P.H.P

Member
دوست عزیز کد های php سایت دیگر رو نمیتونی دریافت کنی.

میتونید اطلاعات رو بدون استفاده از تگ وارد کنید و در صفحه از eval استفاده کنید (پیشنهاد نمیشه)

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

اگر آموزشی هست(تست) که موفق باشی :-?

موفق
 

saeed222

Member
هر دو سایت از آن یک نفرست و هر نوع دسترسی که لازم باشه رو می تونم ایجاد کنم و اگر منظور شما از مشکل ساز بودن ، امنیت اطلاعات است در این مورد چندان اهمیتی نداره

بنابراین به جای
PHP:
include_once('http://domain.com/2.php');


در مثال بالا دستور
eval یا هر دستور دیگری باید به چه صورتی قرار گیرد تا متغییر n$ موجود در فایل 1.php به فایل 2.php جهت پردازش ارسال شود

با تشکر
 

k2-4u

Well-Known Member
خب شما باید تنظیم alow_url_include رو در php.ini فعال کنی تا مشکل حل بشه

در مورد امنیت هم باید بگم که هیچ مشکلی ایجاد نمی کنه به شرط اینکه همه چی چک بشه
و درست استفاده بشه
 
آخرین ویرایش:

saeed222

Member
خب شما باید تنظیم alow_url_include رو در php.ini فعال کنی تا مشکل حل بشه

در مورد امنیت هم باید بگم که هیچ مشکلی ایجاد نمی کنه به شرط اینکه همه چی چک بشه
و درست استفاده بشه

امکان alow_url_include در هاست هایم فعال است و می توانم صفحه ها را include کنم ولی مشکل این است که صفحه ای که include می شود بطور مستقل عمل می کند

با تشکر
 

saeed222

Member
فقط اگر با include نمیشه پس چه جوری می شه بطور مثال نتیجه یک متغییر که در فایل 1 وجود داره رو به فایل 2 در هاست دیگر ارسال کرد؟

http://1111.com/1.php
PHP:
 <?php
$n="ali";
?>

http://2222.com/2.php
PHP:
 <?php
echo $n;
?>
در این 2 صفحه چه دستوراتی باید قرار داد تا این عمل انجام شود

با تشکر
 

P.H.P

Member
بدون include میتونی با استفاده از fopen, filegetcontent, curl یا :-?

محتوا رو دریافت کنی و eval کنی


موفق
 

saeed222

Member
بدون include میتونی با استفاده از fopen, filegetcontent, curl یا :-?

محتوا رو دریافت کنی و eval کنی


موفق
من از fopen اینطور استفاده کردم ولی خروجی نمایش فایل 1 به جای نمایش اسم ali عدد 0 را نمایش می دهد که ظاهرا متغییر رو خالی در نظر می گیره

http://1111.com/1.php

PHP:
<?php
$n= "ali";
$fp = fopen("http://2222.com/2.php", "r");

$html = fpassthru($fp);
echo $html;
?>


http://2222.com/2.php

PHP:
<?php
echo $n;
?>

در این کد چه تغییری باید داد تا ali در خروجی فایل 1 نمایش داده شود؟

با تشکر
 

P.H.P

Member
خوب نمیگی میخوای چکار کنی.

فایل 1 از هاست دیگه:
میتونی 1.txt قرار بدی چون در کل eval میشه

کد:
$n = "reza";

فایل 2.php

PHP:
<?php
$n= "ali";

$fp = file_get_contents("http://www.1111.com/1.txt");

eval($fp);

echo $n;
?>

موفق
 

جدیدترین ارسال ها

بالا