Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Создание файла с сервера (http://www.flasher.ru/forum/showthread.php?t=38892)

Anshakov 25.10.2002 13:25

Создание файла с сервера
 
Народ, следующий вопрос, может кто в курсе.
На компьютере пользователя лежит swf. Пользователь нажимает кнопочку и с сервера запускается php-скрипт, который создает на компьютере пользователя(!) (не важно где) текстовый файл (пусть пустой).
Как реализовать сей финт ушами?

Спасибо

Самурай 25.10.2002 18:38

нельзя по технике безопасности ....

вы акое в школе не проходили?

SPV 25.10.2002 19:24

:) "с сервера запускается php-скрипт" :)
Не с сервера, а на сервере. Комп юзверя уж очень далеко... :D

Anshakov 25.10.2002 22:47

можно, техника безопасности здесь ни при чем :-)
Насчет умников-лингвистов: не за этим я приходил, ежели честно.

metton 26.10.2002 03:18

2Anshakov
На лингвистов попрошу не наезжать :)

Самурай 26.10.2002 11:27

Можна???
А ты в этом уверен???

Anshakov 26.10.2002 13:49

угу, точно. расклад такой. поговорил я с парочкой людей, они сказали, что можно даже прописываться в реестре посредством php. Но как? я и стараюсь найти знающих людей, которые по-крайней мере, если говорят, что все-таки НЕЛЬЗЯ, то скажут это точно. мнения есть разные, к сожалению пока что я основываюсь на чужом, так как сам профан в php. Может с твоей стороны, кто может прояснить ситуацию? было бы здорово, не мыкаться с тем, чего нельзя.
Пока можно :-)

Crazy 26.10.2002 14:00

Цитата:

Оригинал написал(а) Anshakov
угу, точно. расклад такой. поговорил я с парочкой людей, они сказали, что можно даже прописываться в реестре посредством php
Вот один мой приятель несколько раз ездил изучать Мыслящее Озеро, которое все знает, но никому ничего не говорит. А твои друзья через PHP в реестр клиенсткого компа лезут.

Явленяи одного порядка. Лечится даже в амбулаторных условиях.

P.S. Проблема в том, что ты профан не в PHP, а в веб-технологии вообще. Иначе вопрос вообще не появился бы...

Anshakov 26.10.2002 17:26

напоследок
 
Ругаться не стану, мне это не нужно.
Но ответ мне уже дали люди, не кричащие «Лечится даже в амбулаторных условиях.», а рассказавших и даже показавших. Не на этом форуме. Жаль, что это не соотечественники, а люди куда дальше находящиеся и куда более внимательные к вопросам. Спасибо им.
P.S. 2человек-гуру в веб-технологиях: учитесь и не стыдитесь этого и задавать глупые вопросы тоже, так как временами оказывается, что находишь то, что ищешь вопреки мнениям «умных».
Всем удачи.

Crazy 26.10.2002 17:46

Re: напоследок
 
Цитата:

Оригинал написал(а) Anshakov
Но ответ мне уже дали люди, не кричащие «Лечится даже в амбулаторных условиях.», а рассказавших и даже показавших.
Если означенную вещь действительно показали, то в амбулаторных условиях это уже не лечится.

Wave 26.10.2002 19:49

Цитата:

На компьютере пользователя лежит swf. Пользователь нажимает кнопочку и с сервера запускается php-скрипт, который создает на компьютере пользователя(!) (не важно где) текстовый файл (пусть пустой).
Как реализовать сей финт ушами?
можно. можно сделать все, даже писать в реестр.

для начала давай рассмотрим вариант, который подходит для большинства клиентов.

в файловой системе клиента находится swf где прописано что то вроде getURL("http://server.com/magick/createfile.php")

мы запускает этот свф, который в свою очередь запускает сценарий...

и тут мы наламываемся, потому что сценарий createfile.php выполняется на другой машине, на сервере, компьютере, стоящем на площадке одного из ISP и скрывающемся под именем server.com, и тебе возвращается лишь результат выполнения этого скрипта.

несомненно выполняемый на этом компе скрипт не может взять и создать файл в любом месте на твоей машине, потому что если такое было бы возможным, то ты сам бы офигел от количества возможностей повредить данным в ТВОЕЙ файловой системе.

но...

что такое cookies? куки, это текстовые файлы, сохраняемые в определенном месте, в которых сервер (в том числе и server.com) может сохранить ограниченное количество данных.

это не противоречит твоим требованиям, потому что тебе все равно где, и даже все равно что...

соответственно мы переписываем код в swf в виде getURL("http://server.com/cookies/create.php")

содержимое файла create.php может быть примерно таким

<?php
setcookie ('cookie', 'value');
?>

алееее.... оп. текстовый файл создан.

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

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

для начала необходимо установить ftp-server на машину клиента. каждого клиента, которые хочет что бы кто то извне мог ковыряться в их файловой системе.

после чего мы изменяем swf, прописывая там такую штуку getURL("http://server.com/ftp/create.php")

и тут начинаются сложности.

как ты уже мог догадаться, мы собираемся подключиться к заранее настроенному фтп серверу на машине клиента (которая уже как бы и не клиент вовсе, а совсем наоборот)

но для этого нам надо знать две... нет, три вещи

1. адрес
2. имя для подключения
3. пароль для подключения

в принципе можно сделать доступ анонимным, но дать всем на свете полный доступ к своей файловой системе не лучшая идея (смотри выше).

возможные проблемы с определением адреса...

клиент может не иметь реального IP адреса. в принципе эта проблема решаема, но это еще более усложняет подготовку клиентской машины.

клиент может прятаться за прокси, и тогда мы скорее всего не узнаем его реального адреса (если такой имеется)

возможные проблемы с передачей пароля и имени пользователя

здесь проблем немеряная куча. как и вариантов их решения.
необходимо заметить, что сделать передачу идентификационных данных безопасной гораздо сложнее и трудоемчее чем настроить клиентскую машину без реального ИП адреса

в итоге, в том оченьмаловероятном случае если все прошло успешно, клиент запускает swf, тот вызывает скрипт на сервере, скрипт на сервере выступает в качестве клиента фтп сервера, который запущен на клиентской машине (которая теперь в свою очередь выступает в качестве сервера) и создает таки в твоей файловой системе текстовый файл...


и наконец рассмотрим последний случай ,когда тебе необходимо писать в реестр клиентской машины с удаленного сервера

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

поправьте меня, если я в чем то не прав....

Anshakov 27.10.2002 01:40

Спасибо
 
спасибо за ответ :-)
да, мне уже объяснили ньюансы и прислали пример скрипта, который создает пустой файл на c: диске клиентской машины, хотя некоторые умники продолжают утверждать, что это невозможно и отсылают лечиться, хех. идиотизм отрицать факт.

еще раз спасибо,
тема закрыта, вопрос снят :-)

Wave 27.10.2002 03:17

факты надо подтверждать.

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

может быть ты покажешь его нам?

Crazy 27.10.2002 10:27

Wave, ну это же так очевидно: скрипт ему дали без права распространения. :D

Самурай 27.10.2002 10:28

Да, слушай покажи а хочу посмотерть =)

ihorko 28.10.2002 00:23

все, что выходит за границы кук невозможно ни в теории, ни на практике. а скрипт, подаренный буржуями без права распространения - из области научно-популярной фантастики. для подтверждения своего мнения расспросил всех программеров из соответствующего отдела у себя в агенстве. меня чуть за идиота не приняли :D :D :D

Anshakov 28.10.2002 23:04

Так, ребята, надо все-таки прояснить ситуацию, чтобы не было недомолвок и кривотолков.
Уточню мои требования к созданию файла, а так же прокомментирую пути реализации.
1. Самое главное, что мне до фонаря, где файл будет лежать (т.е. те же самые кукисы мне подходят)
2. Содержание. Аналогично, а точнее мне необходимо сохранить лишь одну переменную.
3. Файл должен создаваться посредством флэш-файла лежащим на стороне юзера.
4. Теперь пресловутый буржуйский крипт, хе-хе. Он есть, и работает и совсем не секретен, распространению подлежит, никто не запрещал :-) Объясняю (думаю, что он не нужен будет после объяснений):
a) скрипт создает сессию. Дальше объяснять не нужно? Самый последний крэй..эээ ёжик поймет; переменную из сессии и использую потом.
b) Теперь о диске с: точнее про файл на нем. «Ватсон, это же элементарно!»
И понятно почему. Вспомним, что файл лежит на стороне пользователя, и вспомним про команду exec. Ну и простенький файлик написанный на том же c++. Хотя, если честно, этим путем не шел, так использовал первый вариант - сессии
Ну, надеюсь, все ясно, даже крэйзи, который не поленился зайти на phpclub, думая, что самый умный, а про то, что я написал, что помогли мне не наши соотечественники его IQ, видать, не позволил уже запомнить.
Извиняюсь за бурю в стакане перед людьми, которые постарались мне помочь, но в силу моих корявых объяснений и не менее корявых «хелпов» со стороны ненужных помощников, пошли по неверному пути.
Спасибо и удачи.

ihorko 29.10.2002 02:27

ну ты и... тебе ж в одном из первых ответов дали объяснение по поводу сессий и кук. нет, тебе мало было... в результате пришел к тому же :)
а по поводу с++ программки... какой урод согласится ее себе загрузить? или так: какой брендмауэр его пустит (если не хочешь спрашивать у юзера)??? таким образом можно все загрузить на клиентскую машину :) а по поводу создания флешем файлов еще можно подискутировать. создавать то он создает. но проблем и вопросов дополнительных там хватает :) и есть оч даже нормальный способ запретить это делать (опять же со стороны клиента)

вот такие дела, старик. ты чертовски прав, надо четко ставить вопрос, иначе получишь такой же ответ. с процентами :D :D :D

зы: покажи все-таки скрипт, а?

Wave 29.10.2002 02:59

в условии было сказано, что ты хочешь делать это через ПХП.
ты просто морочишь голову своим словоблудием.
сгинь.

Crazy 29.10.2002 04:13

Господину Аншакову выражается публичная благодарность за устроенное им цирковое представление. :D

ninetyniner 29.10.2002 09:09

Вложений: 1
Jesus Fucking Christ, Anshakov, you are so goddamn worthless that your corpses wouldn't even make a decent doorstop

Anshakov 29.10.2002 12:50

Хехе, ей-богу, как дети малые. Хорошо, что еще пока что не предложили писями меряться, а то может? На скольких форумах был и только здесь такое творится.
Начнем по порядку:
>ну ты и... тебе ж в одном из первых ответов дали объяснение по поводу сессий и кук. >нет, тебе мало было...
ну, дружище, ты не прав. Единственный вразумительный ответ я впервые здесь получил от wave. Это далеко от начала и про «мало» я ничего не сказал, можно перечитать.
>а по поводу с++ программки... какой урод согласится ее себе загрузить?
Тот же урод, что и согласится загрузить себе же на машину и flash-файл. Меня не волнует этот вопрос.
>таким образом можно все загрузить на клиентскую машину
нет, файл должен создаваться и менять содержимое, поэтому толку его сразу загрузить?
>чертовски прав, надо четко ставить вопрос, иначе получишь такой же ответ.
Точно :-) я забыл еще тогда добавить, что этот вопрос надо задавать не здесь :-)
>зы: покажи все-таки скрипт, а?
С установкой кукисов? Издеваешься? Кстати, дали еще одну ссылку, вот она может будет хоть как-то интересна, хотя таким монстрам, как здесь, уже и так все известно на этом белом свете.
http://www.macromedia.com/support/fl...s/local_so.htm
Мне тоже подходит, кстати, такой вариант, даже больше всего подходит.
Если ты говорил про exe, то повторяю – не шел этим путем. Если про c++, может тебе еще написать как на том же дельфи файлы создаются? О, я даже еще помню немного ассемблер и бейсик и паскаль, помочь? :-)

Теперь модератору:
>в условии было сказано, что ты хочешь делать это через ПХП.
>ты просто морочишь голову своим словоблудием.
>сгинь.
Согласен, но что можно от новичка хотеть? :-) Чтобы он не шатался со словоблудием по форумам? Окей, обещаю, что здесь я более не появлюсь с новым вопросом. Если желаешь, чтобы и здесь не объявлялся поиздеваться над крэйзи, но просто удали раздел форума.

>Господину Аншакову выражается публичная благодарность за устроенное им >цирковое представление.
Да ради бога. У тебя, кстати, тоже недурственно получается.

>ninetyniner
напоследок и Вам. Мало плюсиков за хамство? :-)
В чужой монастырь со своими бабами не лезут.

Ну, будет желание пообщаться Богам флэша с таким червяком, или как там меня только не называли, как я, то пожалуйста - уделим минутку.

ihorko 29.10.2002 13:15

Re: Создание файла с сервера
 
и откуда только такие умники берутся? :D :D :D

это ты написал, правда? :rolleyes: :

Цитата:

Оригинал написал(а) Anshakov
Народ, следующий вопрос, может кто в курсе.
На компьютере пользователя лежит swf. Пользователь нажимает кнопочку и с сервера запускается php-скрипт, который создает на компьютере пользователя(!) (не важно где) текстовый файл (пусть пустой).
Как реализовать сей финт ушами?

Спасибо

итак, тема твоя называется "Создание файла с сервера" . Ну с сервера, значит с сервера. Средствами серверного скрипта. Ответ: невозможно, кроме кук.

опять из твоего сообщения:

Цитата:

...с сервера запускается php-скрипт, который создает на компьютере пользователя(!) (не важно где) текстовый файл (пусть пустой)...
ты хотел пхп-скриптом создавать файл, а не флешем. так что не морочь голову. ответ один - скриптом невозможно по определению, кроме тех же кук (которые, как в последствии выяснилось, тебе могут прекрасно подойти).

Цитата:

This is the only way Macromedia Flash Player can write data to a user's machine.
это по поводу Shared Object. Не сомневайся, мы в курсе. Смотри название форума :)
кстати, почитай все-таки не только эту статью на макромедии, а пройдись по всем ссылкам с той страницы, особенно советую see the Security white paper (PDF 716K). . Как я говорил в предыдущем своем сообщении, весь этот финт можно вырубить. И ничего не будет работать.

и еще... похоже что ты недопонимаешь чего-то. флеш плагин стоит по дефолту в виндах. а все мы юзаем именно винды. в основном. обновление проходит автоматически. даже если его нет и надо поставить, юзер его поставит. потому что это уже нормально. флеш все знают, даже в африке и южной азии. и в океании тоже, представь себе. а вот твою с++ программку (он же .exe) или на делфи или на чем угодно, никто грузить не станет. потому что не поверит, что это не вирус и прочая гадость. и ЭТО УЖЕ ТВОИ ПРОБЛЕМЫ, потому что никто не посмотрит нормально твой сайт. молодец, шо не пошел по этому пути.

и не могу понять, почему
Цитата:

>зы: покажи все-таки скрипт, а?
С установкой кукисов? Издеваешься?
нет, я абсолютно серьезно. ты ж сказал в одном из постов:

Цитата:

спасибо за ответ :-)
да, мне уже объяснили ньюансы и прислали пример скрипта, который создает пустой файл на c: диске клиентской машины, хотя некоторые умники продолжают утверждать, что это невозможно и отсылают лечиться, хех. идиотизм отрицать факт.
РЕЧЬ ИДЕТ О ПХП-СКРИПТЕ, КОТОРЫЙ СОЗДАЛ ФАЙЛ НА ДИСКЕ С???????????????????????????????7

Crazy 31.10.2002 06:32

Судя по отсутствию ответа наш собеседник понял, что с каждой новой репликой позорится все больше и больше. Отрадное продвижение на пути постижения дао веб-девелопмента... :)

To all: к вопросу о куках: зачем так cложно? Если нам достаточно ЛЮБОГО файла, то просто вспомните про дисковый кэш браузера. Недостаток тот же, что и для кук: в общем случае неизвестно, где создается файл (и в каком формате).

Кто сможет придумать, ЗАЧЕМ -- хотя бы теоретически -- может быть нужен такой механизм создания файла, который порождает его с неизвестным наперед именем и в неизвестном месте? В многозадачной системе, где куча других программ в то же самое время могут делать то же самое? :)

ihorko 31.10.2002 11:45

crazy, ты неисправимый идеалист :D

Crazy 31.10.2002 15:00

Не... Я прагматик.

Единственное, на мой взгляд, для чего имеет смысл инициировать создание ПУСТОГО файла на клиенте -- это чтобы некое работающее на клиенте приложение (даже есть это swf-ролик или applet) могло работать по-разному в зависимости от наличия или отсутствия этого файла.

Если мы знаем, что файл МОЖЕТ БЫТЬ создан, но не знаем, где и под каким именем, то мы не можем проверить его наличие. :)

Лично у меня это вызывает устойчивые ассоциации с ящиком Шредингера... :D

ihorko 31.10.2002 15:08

:p


Часовой пояс GMT +4, время: 00:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.