Jump to content
  • 0

Подключение PHP библиотеки с другого сервера


SuperPuperLesha
 Share

Question

12 answers to this question

Recommended Posts

  • 0

А что будет, если набрать в строке браузера этот адрес? Вот что вы увидите, то и будет инклудиться. Предположу, что на втором компьютере стоит веб-сервер, который отдаёт уже обработанный скрипт, а не его исходный текст. Так оно и ли нет?

Link to comment
Share on other sites

  • 0

при наличии php на том сервере вы никак не получите код, если только он не будет отдаваться как текст, а далее eval(), но опять таки это не есть гуд. банально не замарачивайтесь, просто перепишите фаил с библиотекой

Link to comment
Share on other sites

  • 0
при наличии php на том сервере вы никак не получите код, если только он не будет отдаваться как текст, а далее eval(), но опять таки это не есть гуд. банально не замарачивайтесь, просто перепишите фаил с библиотекой

Да про использование функции eval Я тоже подумал плохо,

но как переписать файл с библиотекой (что в нем написать -)) )?

После установки

allow_url_include = On

даже пропал варнинг.

Но Наличие функций всеравно не наблюдается.

Edited by SuperPuperLesha
Link to comment
Share on other sites

  • 0
Да про использование функции eval Я тоже подумал плохо,

но как переписать файл с библиотекой (что в нем написать -)) )?

После установки

allow_url_include = On

даже пропал варнинг.

Но Наличие функций всеравно не наблюдается.

пример описанного мною способа(который я вам делать не рекомендовал):

фаил lib.php:

function privet() {
Echo "Привет чувак!";
}

Хочу обратить ваше внимание на то, что нет в нём символов <?php и ?>

и фаил reader.php:

<?php
eval(file_get_contents('lib.php'));

privet();
?>

P.S. В вашем случае фаил с библиотекой находящийся на другом сервере не должен исполняться PHP, поэтому у него может быть разрешение например txt или lib, или вообще gif дабы не кидался в глаза

Link to comment
Share on other sites

  • 0
Спасибо, разобрался!

Попробовал с eval(),

и вариант с изменением расширения php на gif .

Надеюсь вы понимаете, что при этом содержимое(код) этой библиотеки теперь доступно ?

Link to comment
Share on other sites

  • 0

Имелось в виду, что код доступен для обозрения. Понятно, что он не обрабатывается. На том сервере нужно сделать доступ только для определённого ip или ещё как-то ограничить.

Edited by Int
Link to comment
Share on other sites

  • 0

Так вообще делать нельзя. Я не могу придумать ни одной задачи, где это реально было бы необходимо. Это будет жутко тормозить работу скриптов и сервер может легко завалиться под нагрузкой. В плане безопасности тут всё нормально только в случае локальной сети (судя по айпишнику в первом посте оно так и есть) при условии полной «невидимости сервера наружу». Может, автор поделится с нами первоначальными условиями задачи, а мы ему взамен предложим более качественный способ решения?

Link to comment
Share on other sites

  • 0

Прошу прощения за лютый некропост, но у меня такая же проблема, плюс ответ на вопрос Veseloff'a.

Лично у меня стоит следующая задача: нужно разместить на каждом из 20 магазинов фирменной сети bat-файл, который проверяет состояние нужных служб и записывает в файлы их состояние. PHP-скрипт отслеживает эти файлы и рисует напротив имени службы красный или зеленый кружок, как во вложении.

А на сервере центрального офиса я хочу сделать общую, которая подгрузит мелкие страницы с магазинов и покажет состояние всех служб, дабы вручную не лазить по всем. По сути, мне и нужен как раз include - результат выполнения скрипта, а не его исходник.

Однако, при попытке инклюда сервер начинает дико ругаться:

Цитата

Warning: include() [function.include]: URL file-access is disabled in the server configuration in Z:\home\wm.ru\www\index.php on line 11

Warning: include(http://195.xxx.xxx.xxx/wm/show.php) [function.include]: failed to open stream: no suitable wrapper could be found in Z:\home\wm.ru\www\index.php on line 11

Warning: include() [function.include]: Failed opening 'http://195.xxx.xxx.xxx/wm/show.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\wm.ru\www\index.php on line 11

Вписал в php.ini параметр allow_url_include, но работать оно не хочет. Помогите, пожалуйста, что-то я запутался..

пример WM.PNG

Link to comment
Share on other sites

  • 0
В 23.02.2017 в 17:34, MrSTEP сказал:

А, недосмотрел я - заработало все, по большому счету. Но все-таки, хотелось бы разобраться в вопросе - насколько это правильно?

Зачем инклудить php-файлы? Ведь можно забирать уже обработанные данные с "галочками" в любом удобном виде, хоть в xml, хоть даже в ini

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy