|
|
|
| Делаю тут правки в забугорном сайтике.. говнокод еще тот, но это ладно.
Используется тут интересная вещь, хотя мне непонятная.
Вместо того, чтобы просто подлючить файл:
Они делают так:
include 'http://example.com/file.php?param1=value1¶m2=param2';
|
В чем прикол?
P.S. все действия происходят на example.com; когда меняю со второго варианта на первый, все ок работает. | |
|
|
|
|
|
|
|
для: neadekvat
(09.06.2010 в 23:13)
| | второй вариант обеспечивает генерацию исходника php средствами самого php.
Если рассудок и жизнь реноме дороги вам, держитесь подальше от торфяных болот самомодифицирующегося кода!
PS. Смешного. Нет. Ни че го. | |
|
|
|
|
|
|
|
для: Trianon
(09.06.2010 в 23:18)
| | Таки да. Однако в данном случаи вообще ничего не меняется, абсолютно. Скрипты там не связаны, они просто выполняются друг за другом, так что смысла в таком решении я не вижу.
Однако, конечно, лохонулся, забыл, что если подключать файл со стороннего сервера, то получим то мы несколько другой результат :)
P.S. Шоб вы там не думали - конкретно про этот код я именно спрашиваю, а не выношу как нечто паршивое, ибо вот только ваш пост и помог понять, в чем собстно разница.
А код, знаете..сначала договор, а потом код показывают - какой же дурак будет раздавать направо и налево исходники портала?
И еще тут подумал - Не лучше, разве, file_get_contents() использовать для получения сгенерированного кода, т.к. include предполагает выполнение кода после подключения, о чем вы, видимо, во втором абзаце и сказали? | |
|
|
|
|
|
|
|
для: neadekvat
(09.06.2010 в 23:50)
| | >P.S. Шоб вы там не думали - конкретно про этот код я именно спрашиваю, а не выношу как нечто паршивое, ибо вот только ваш пост и помог понять, в чем собстно разница.
да я, собственно, ничего не думаю. :)
>А код, знаете..сначала договор, а потом код показывают - какой же дурак будет раздавать направо и налево исходники портала?
Если это динамически формируемые исходники, то они как бы сказать попроще... и не исходники вовсе. Исходником всё же называется самописный код, а не сгенерированный программой.
И опять же, в качестве исходников истинных могут оказаться бесполезны.
Точнее, так можно сделать, ... т.к. Вы говорите, что модификацией там не пахнет - а значит это лишь то, что автор запутался в применяемых инструментах.
>И еще тут подумал - Не лучше, разве, file_get_contents() использовать для получения
скорее не file_get_contents(), а, тогда уж, readfile()
>сгенерированного кода, т.к. include предполагает выполнение кода после подключения, о чем вы, видимо, во втором абзаце и сказали?
и во втором и в первом. | |
|
|
|
|
|
|
|
для: neadekvat
(09.06.2010 в 23:50)
| | Там может генерироваться вовсе не исходник, а вполне обычный HTML-блок, который таким странным образом подключается. Возможно автор не придумал как получить результат от скрипта с get-параметрами. Или автору тот скрипт перешёл по наследству и оказался настолько ужасен, что проще было подключить его так.
Но, тем не менее, если встречается такое применение инклудов, значит что-то не так в самой архитектуре проекта. А ещё это серьёзная дыра в безопасности. | |
|
|
|
|
|
|
|
для: Trianon
(09.06.2010 в 23:18)
| | С чего вы взяли что там исходник генерируется? | |
|
|
|
|
|
|
|
для: Саня
(10.06.2010 в 00:25)
| | То, что генерируется http:// (указанном в качестве файлового источника в директиве include) так или иначе воспринимается внешним php-процессом, как исходник.
То, что при этом интерпретировать в таком исходнике фактически нечего - дело пятнадцатое.
Фактически тогда это ошибка выбора инструмента. А не хитрый ход конем.
Как я уже заметил, readfile() полезнее. Хотя бы тем, что ресурсы на сканирование php-тегов не отнимает.
Кстати, я допускаю и полезное применение такого вызова.
В ситуации, когда запрос нужно обязательно обработать от себя - как клиента .
Обращаемся же мы к СУБД от имени серверной машины?
Но в такой ситуации в вызываемом скрипте будет жесткий контроль за вызывающим субъектом.
А тредстартер утверждает , что скрипта как такового там нет.
Короче, всё проще. Создатель этого кода - чудак, на некоторую другую букву. | |
|
|
|