[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Upload загрузка
littleman
Всё еще не могу докумекать, как загрузить на другой север файл (точнее правильно)
<form name="theuploadform" method="post" enctype="multipart/form-data" action="http://субдомен.сайт.com/upload/u.php />

Тут видно что файл будет загружаться на субдомен, эта форма доступна для зарег. юзеров.
А как проверить на субдомене ? Зарег. юзер или нет ? Сам скрипт стоит на главной и заливает его на субдомен.
Можно взять форму form и лить сколько угодно и не регениться , как сделать взаимосьвязь главным и субдоменом ?
P.S Суб. и главный на разных серверах .
AllesKlar
отправлять в форме id юзера.
После принятия файла на субдомене, проверять, зарегистрирован ли такой юзер.
Если нет, то файл в мусорку.
Это сам принцип.

Из соображений безопасности:
id как правило идут по-порядку, поэтому в фоме можно имитировать чужой id
Лучше отправлять id и контрольный хеш собранной из разных составляющих из данных юзера, например md5(id . user_name . user_date) и на субдомене также генерировать контрольный хеш и сравнивать их.

_____________
[продано копирайтерам]
littleman
AllesKlar
Вы имеете ввиду отправлять методом POST ? Сделал через гет .
<?PHP
$data = md5("VASYA HASH TRASH "); // Контрольная сумма ник + логин + емайл
$hash = "kNSJsns"; //Хеш юзера (он же ID)
echo $_GET['name']."<br />";
echo $_GET['hash'];
?>

<form method="POST" action="http://субдомен.сайт.ru/index.php?name=<?=$data?>&hash=<?=$hash?>">
<input
name="click" type="submit" value="GO" />
</form>

Но тут смутные сомнения терзают, а взять эту суммы да и вставить и заливай также сколько угодно ... <_<
Это ведёт для определения кем залит, а не от массовой загрузки, можно взять да и лить хоть 10-20-30 человек .
AllesKlar
littleman
Как взять? Для каждого юзера есть свой уникальный хеш.
Он что его в паблик будет выкладывать?
Ну продумай алгоритм, привяжи ко времени, либо еще лучще, пусть твой домен запрашивает у субдомена одноразовый токен. Этот токен летит с файлом на субдомен.
Субдомен это все встречает и и уже знает, что данный токен выдан конкретному юрезу.

домен запрос к субдомену дай токен для юзера id ->
субдомен ответ токеном ->
домен отправка файла и токена ->
субдомен принял файл и токен, вытащил id юзера для данного токена, сохранил файл
если токен левый, файл в помойку

Для каждого нового файла генерируется новый токен

_____________
[продано копирайтерам]
littleman
Как взять ? Просто , скопировал
<form method="POST" action="http://субдомен.сайт.ru/index.php?name=516c0c26512e0de745d5eadc8f7c0c48&hash=kNSJsns">

Сохранить в любой HTML , открыть и лить .. аж с рабочего стола , а сервак сверя что хеш + сумма совпадает = TRUE . :lol:
Интересно , а сессии можно как-нить передать ? С одного на другой ? Так скажем как БД одна на два сервера ?
AllesKlar
littleman
Разговор глухого с немым.
Перечитай еще раз мой последний пост, в частности это
Цитата
домен запрос к субдомену дай токен для юзера id ->
субдомен ответ токеном ->
домен отправка файла и токена ->
субдомен принял файл и токен, вытащил id юзера для данного токена, сохранил файл
если токен левый, файл в помойку

Для каждого нового файла генерируется новый токен

Реализуй это, а потом пробуй с рабочего стола.

_____________
[продано копирайтерам]
littleman
Вот и вопрос, как сделать данный токен чтобы он тут и на другом сервере совпадал ?
Ясен пень, если ключ сделать то не зальют не чего . biggrin.gif
AllesKlar
Домен:
$token = file_get_contents($subdomain . 'gettoken.php?user_id=' . $user_id);


Субдомен:
gettoken.php
if( ! empty($_GET['user_id']) && intval($_GET['user_id']) > 0 && is_user_in_db_activ(intval($_GET['user_id'])))
{
$token = random_big_string_token_maken_generate_and_in_db_save(intval($_GET['user_id']));
echo $token;
}
else
{
echo "WTF?";
}


_____________
[продано копирайтерам]
littleman
AllesKlar
КрасавчеГ +5. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.