Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Передача через GET или POST


Автор: slang 2.9.2005, 11:54
Есть PHP скрипт, в котором
Код

$site = join('',file($url));

, где $url = "http://www.otmmp.in/cgi/test1.exe?command=".$command;
, а $command = "C:/WINDOWS/System32/winpop ADD slang@qwerty.local /CREATEUSER 123456789";
и перловский скрипт
Код

#!/usr/bin/perl -w
use strict;    
use CGI qw( :param );    
my $command = param('command');    
#$command = "C:/WINDOWS/System32/winpop ADD slang\@otmmp.local /CREATEUSER 123456789";
print "Content-type: text/html; charset:x-cp866\n\n";    
print "<html><head><title>MyShell</title></head><body>";    
print "пришло:".$command;
print "<br> ";
system( $command );    
print "</body></html>";

Но вот в данном контексте есть ошибка в PHP скрипте, думаю, что join('',file($url)); с параметрами не запускается, можно-ли обойти это ограничение другими средствами.
Хочется чтобы все работало под PHP, а перл только команду выполнял.
Можно-ли обойтись без Perl.

Автор: -=Ustas=- 2.9.2005, 14:37
Эх, куда нас понесло.... smile

Автор: Mal Hack 2.9.2005, 16:18
Ну е-мое...
Ну не надо писать URL'ы в файловых функциях. Ну не правильно это.
Использовать надо сокеты, тобишь fsockopen.
Помимо этого, что мешает прочитать через file_get_contents без вызова лишнего join'a?

Что касается выполнения системного вызова, то для твоего случая, придется exec() юзать, но к сожалению системные вызовы на винде плохо реализованы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)