Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Чисто для себя. Поржать.
 
 автор: neadekvat   (09.06.2010 в 23:13)   письмо автору
 
 

Делаю тут правки в забугорном сайтике.. говнокод еще тот, но это ладно.

Используется тут интересная вещь, хотя мне непонятная.
Вместо того, чтобы просто подлючить файл:
include 'file.php';

Они делают так:
include 'http://example.com/file.php?param1=value1&param2=param2';

В чем прикол?

P.S. все действия происходят на example.com; когда меняю со второго варианта на первый, все ок работает.

  Ответить  
 
 автор: Trianon   (09.06.2010 в 23:18)   письмо автору
 
   для: neadekvat   (09.06.2010 в 23:13)
 

второй вариант обеспечивает генерацию исходника php средствами самого php.

Если рассудок и жизнь реноме дороги вам, держитесь подальше от торфяных болот самомодифицирующегося кода!


PS. Смешного. Нет. Ни че го.

  Ответить  
 
 автор: neadekvat   (09.06.2010 в 23:50)   письмо автору
 
   для: Trianon   (09.06.2010 в 23:18)
 

Таки да. Однако в данном случаи вообще ничего не меняется, абсолютно. Скрипты там не связаны, они просто выполняются друг за другом, так что смысла в таком решении я не вижу.

Однако, конечно, лохонулся, забыл, что если подключать файл со стороннего сервера, то получим то мы несколько другой результат :)

P.S. Шоб вы там не думали - конкретно про этот код я именно спрашиваю, а не выношу как нечто паршивое, ибо вот только ваш пост и помог понять, в чем собстно разница.
А код, знаете..сначала договор, а потом код показывают - какой же дурак будет раздавать направо и налево исходники портала?

И еще тут подумал - Не лучше, разве, file_get_contents() использовать для получения сгенерированного кода, т.к. include предполагает выполнение кода после подключения, о чем вы, видимо, во втором абзаце и сказали?

  Ответить  
 
 автор: Trianon   (10.06.2010 в 00:22)   письмо автору
 
   для: neadekvat   (09.06.2010 в 23:50)
 

>P.S. Шоб вы там не думали - конкретно про этот код я именно спрашиваю, а не выношу как нечто паршивое, ибо вот только ваш пост и помог понять, в чем собстно разница.

да я, собственно, ничего не думаю. :)

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

Если это динамически формируемые исходники, то они как бы сказать попроще... и не исходники вовсе. Исходником всё же называется самописный код, а не сгенерированный программой.
И опять же, в качестве исходников истинных могут оказаться бесполезны.
Точнее, так можно сделать, ... т.к. Вы говорите, что модификацией там не пахнет - а значит это лишь то, что автор запутался в применяемых инструментах.



>И еще тут подумал - Не лучше, разве, file_get_contents() использовать для получения

скорее не file_get_contents(), а, тогда уж, readfile()

>сгенерированного кода, т.к. include предполагает выполнение кода после подключения, о чем вы, видимо, во втором абзаце и сказали?

и во втором и в первом.

  Ответить  
 
 автор: Саня   (10.06.2010 в 00:29)   письмо автору
 
   для: neadekvat   (09.06.2010 в 23:50)
 

Там может генерироваться вовсе не исходник, а вполне обычный HTML-блок, который таким странным образом подключается. Возможно автор не придумал как получить результат от скрипта с get-параметрами. Или автору тот скрипт перешёл по наследству и оказался настолько ужасен, что проще было подключить его так.

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

  Ответить  
 
 автор: Саня   (10.06.2010 в 00:25)   письмо автору
 
   для: Trianon   (09.06.2010 в 23:18)
 

С чего вы взяли что там исходник генерируется?

  Ответить  
 
 автор: Trianon   (10.06.2010 в 00:31)   письмо автору
 
   для: Саня   (10.06.2010 в 00:25)
 

То, что генерируется http:// (указанном в качестве файлового источника в директиве include) так или иначе воспринимается внешним php-процессом, как исходник.
То, что при этом интерпретировать в таком исходнике фактически нечего - дело пятнадцатое.
Фактически тогда это ошибка выбора инструмента. А не хитрый ход конем.
Как я уже заметил, readfile() полезнее. Хотя бы тем, что ресурсы на сканирование php-тегов не отнимает.

Кстати, я допускаю и полезное применение такого вызова.
В ситуации, когда запрос нужно обязательно обработать от себя - как клиента .
Обращаемся же мы к СУБД от имени серверной машины?
Но в такой ситуации в вызываемом скрипте будет жесткий контроль за вызывающим субъектом.
А тредстартер утверждает , что скрипта как такового там нет.
Короче, всё проще. Создатель этого кода - чудак, на некоторую другую букву.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования