Показать сообщение отдельно
Старый 09.08.2003, 18:41   #99
REmindER вне форума
REmindER
Гуру
 
Аватар для REmindER
 
Регистрация: 17.08.2002
Адрес: Израиль
Сообщений: 1 260
Сказал(а) спасибо: 0
Получено благодарностей: 1 в 1 посте
По умолчанию

Ты назначен администратором группы authuser. Все это дело работает так: на компе с выходом в и-нет стоит маленькая программка, которая слушает текущий и-нетовский IP и, если вдруг он изменяется, то запускает с моего компа php-скрипт, который коннектится к rmc.pochtamt.ru, просматривает директории моего ftp-сервера и обновляет страницы личных аккаунтов в соответствии с разрешенными для работы директориями. Ессесенно, у меня стоит интерпретатор php, а на php лучше всего - в любой момент можно что-то подправить. Заморочка небольшая будет с загрузкой, но обновить ссылку в менеджере загрузок, думаю, будет не очень сложно. Тем более, что эти ссылки в готовом виде на личных страницах.

REmindER добавил(а) [date]1060450721[/date]:
Вот этот самый скрипт:

<?php

$PERSONAL = true; //false - displays the global content environment of FTP-server directories;
//true - displays user assigned directories only.

$LSN_____ = "192.168.0.1"; //EtherNet global directory content address. If not assigned and $PERSONAL is't false, dynamic HOST IP will be used.
//Using for quick local network parsing directory list refreshing.

$VAR_HDIR = "Refresh/"; //temp directory for accounts.

$FTP_LSDL = Array(512);

$VAR_BE00 = "\r\n";

$VAR_BE01 = "<B>";
$VAR_BE02 = "</B>";

$FTP_HOST = "ftp://ftp.pochtamt.ru"; //remote accounts server.
$FTP_PORT = 21; //default port.
$FTP_USER = ""; //username.
$FTP_PASS = ""; //password.

$LTS_USER = "LNFS"; //EtherNet username;
$LTS_PASS = "password"; //EtherNet password;

$FTP_SIFN = "index.html"; //null account name.

$VAV_HMIP = getenv("REMOTE_ADDR");

echo "Connecting to ".$FTP_HOST.":".$FTP_PORT."...$VAR_BE00";

$FTP_SCID = ftp_connect($FTP_HOST, $FTP_PORT);

if(!$FTP_SCID)
{
echo "Fail.$VAR_BE00";
exit;
}

$VAR_BE03 = str_repeat("*", strlen($FTP_PASS));

echo "Connected.$VAR_BE00";
echo "Trying to login as $VAR_BE01$FTP_USER$VAR_BE02 with password $VAR_BE01$VAR_BE03$VAR_BE02...$VAR_BE00";

if(!ftp_login($FTP_SCID, $FTP_USER, $FTP_PASS))
{
echo "Login error.$VAR_BE00";
}
else
{
echo "Logged in O.K.$VAR_BE00";
$FTP_SCCD = ftp_pwd($FTP_SCID);
echo $VAR_BE01.$FTP_HOST.$FTP_SCCD.$VAR_BE02." is current directory.$VAR_BE00";
echo "Updating index...$VAR_BE00";
$FTP_FILE = fopen("//Myhome-vv1dfkmu/e/HOSTIP.TXT", "r");
$VAV_HMIP = fgets($FTP_FILE);
fclose($FTP_FILE);
echo "HOST MACHINE IP: $VAR_BE01$VAV_HMIP$VAR_BE02$VAR_BE00";


$LTS_HOST = "".$VAV_HMIP;

if($LSN_____ != "")
{
$LTS_HOST = $LSN_____;

$LTS_USER = $FTP_USER;
$LTS_PASS = $FTP_PASS;
}

if(!$PERSONAL) echo "Exploring directories on $LSN_____...$VAR_BE00";

if(!$PERSONAL)
{
$LTS_SCID = ftp_connect($LTS_HOST, $FTP_PORT);
ftp_login($LTS_SCID, $LTS_USER, $LTS_PASS);
}

{
$FTP_UPPF = fopen("user.txt", "r");
$FTP_PPPF = fopen("pass.txt", "r");

$FTP_UPAL = "";

while(!feof($FTP_UPPF))
{
$VAR_CRUA = fgets($FTP_UPPF);
$VAR_CRUA = substr($VAR_CRUA, 0, strlen($VAR_CRUA)-2);
if(($VAR_CRUA != "null")&&($VAR_CRUA != "")) $FTP_UPAL = $FTP_UPAL."<B>".$VAR_CRUA."</B><BR>";
}

fclose($FTP_UPPF);
$FTP_UPPF = fopen("user.txt", "r");

while(!feof($FTP_PPPF))
{
$VAR_CRUL = fgets($FTP_UPPF);
$VAR_CRUL = substr($VAR_CRUL, 0, strlen($VAR_CRUL)-2);

$VAR_CRUP = fgets($FTP_PPPF);
$VAR_CRUP = substr($VAR_CRUP, 0, strlen($VAR_CRUP)-2);
if($VAR_CRUP != "null")
{

if($PERSONAL)
{
echo "Exploring directories on $VAV_HMIP for $VAR_BE01$VAR_CRUL$VAR_BE02...$VAR_BE00";
$LTS_SCID = ftp_connect($VAV_HMIP, $FTP_PORT);
if(!ftp_login($LTS_SCID, $VAR_CRUL, $VAR_CRUP)) echo "Logging in error.$VAR_BE00";
}

$VAR_LSDL = "<FONT FACE='Courier New' SIZE='2'>";
GetList("", "");

if($PERSONAL) ftp_quit($LTS_SCID);

$VAR_LSDL = $VAR_LSDL."</FONT>";

$FTP_SIFN = $VAR_CRUP.".html";
}
else
{
$FTP_SIFN = "index.html";
};

echo "Creating account $VAR_BE01$VAR_CRUP$VAR_BE02...$VAR_BE00";

$FTP_FILE = fopen("$VAR_HDIR$FTP_SIFN", "wb");

if($VAR_CRUL == "null") $FTP_SSIF = "<HTML><BODY><FONT COLOR='red' SIZE='4'><B>Добро пожаловать на сетевую страницу домашнего FTP-сервера.</B></FONT><BR><BR><I>Текущий IP сервера:</I> <B>$VAV_HMIP</B><BR><BR><TABLE BORDER='1' CELLPADDING='0' CELLSPACING='0'><TR><TD><I>Активные аккаунты:</I></TD></TR><TR><TD>$FTP_UPAL</TD></TR></TABLE><BR>"."Спасибо за внимание.</BODY></HTML>";
if($VAR_CRUL != "null") $FTP_SSIF = "<HTML><BODY><FONT COLOR='green' SIZE='4'><B>Добро пожаловать на сетевую страницу домашнего FTP-сервера, $VAR_CRUL.</B></FONT><BR><BR><I>Текущий IP сервера:</I> <B>$VAV_HMIP</B><BR><I>Авторизированный доступ по ссылке:</I> <B><A HREF='ftp://$VAR_CRUL:$VAR_CRUP@$VAV_HMIP:$FTP_PORT'>ftp://$VAR_CRUL:$VAR_CRUP@$VAV_HMIP:$FTP_PORT</A></B><BR><BR><FONT COLOR='red'>Если вдруг по каким-либо причинам не устанавливается соединение, то это значит, что или в данный момент FTP-сервер отключен от сети, или на данный момент он имеет уже другой IP. В таких случаях попытайтесь зайти на страницу личного аккаунта немного позже.</FONT><BR><BR><TABLE BORDER='1' CELLPADDING='0' CELLSPACING='0'><TR><TD><I>Активные аккаунты:</I></TD></TR><TR><TD>$FTP_UPAL"."</TD></TR><TR><TD><I>Содержимое директорий FTP-сервера:</I></TD></TR><TR><TD>$VAR_LSDL</TD></TR></TABLE><BR>Спасибо за внимание.</BODY></HTML>";

fputs($FTP_FILE, $FTP_SSIF);
fclose($FTP_FILE);
$FTP_FILE = fopen("$VAR_HDIR$FTP_SIFN", "r");
echo "Uploading index...$VAR_BE00";


if(!ftp_fput($FTP_SCID, $FTP_SIFN, $FTP_FILE, FTP_ASCII))
{
echo "Can't upload index.$VAR_BE00";
}
else
{
echo "O.K.$VAR_BE00";
}
}

fclose($FTP_UPPF);
fclose($FTP_PPPF);
}
}

ftp_quit($FTP_SCID);
if(!$PERSONAL) ftp_quit($LTS_SCID);

echo $VAR_BE00;
echo "Connection closed.$VAR_BE00";

function GetList($VAR_CDFE, $VAR_ESSC)
{
global $LTS_SCID;
global $FTP_LSDL, $VAR_LSDL;

global $VAR_CRUL, $VAR_CRUP, $VAV_HMIP, $FTP_PORT;

//ftp_chdir($LTS_SCID, $VAR_CDFE);

$FTP_LSDL = ftp_rawlist($LTS_SCID, $VAR_CDFE);

for($VAR_LDAE = 0; $VAR_LDAE < sizeof($FTP_LSDL); $VAR_LDAE++)
{
$VAR_0000 = strtok($FTP_LSDL[$VAR_LDAE], " ");
$VAR_0001 = strtok(" ");
$VAR_0002 = strtok(" ");
$VAR_0003 = strtok(" ");
$VAR_0004 = strtok(" ");
$VAR_0005 = strtok(" ");
$VAR_0006 = strtok(" ");
$VAR_0008 = strtok(" ");
$VAR_IDFE = strtok("/");

if((substr($VAR_0000, 0, 1) == "d")&&($VAR_IDFE != ".")&&($VAR_IDFE != ".."))
{
$VAR_LSDL = $VAR_LSDL.$VAR_ESSC."<B><A HREF='ftp://$VAR_CRUL:$VAR_CRUP@$VAV_HMIP:$FTP_PORT/$VAR_CDFE$VAR_IDFE/'>".$VAR_IDFE."</A>&nbsp&nbsp<I>".strtoupper(substr($VAR_0000, 1, 9))."</I></B><BR>";

GetList($VAR_CDFE.$VAR_IDFE."/", $VAR_ESSC."|&nbsp");

$FTP_LSDL = ftp_rawlist($LTS_SCID, $VAR_CDFE);
}
else
{
if(($VAR_IDFE != "")&&($VAR_IDFE != ".")&&($VAR_IDFE != "..")) $VAR_LSDL = $VAR_LSDL.$VAR_ESSC."<A HREF='ftp://$VAR_CRUL:$VAR_CRUP@$VAV_HMIP:$FTP_PORT/$VAR_CDFE$VAR_IDFE'>".$VAR_IDFE."</A><I>&nbsp&nbsp[$VAR_0004 байт(а/ов), $VAR_0006 $VAR_0005 $VAR_0008]&nbsp&nbsp<B>".strtoupper(substr($VAR_0000, 1, 9))."</B></I><BR>";
}
}
}

?>
_______________________________________
...


Последний раз редактировалось REmindER; 09.08.2003 в 20:39.
  Ответить с цитированием