Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Аппаратная привязка в FLASH (http://www.flasher.ru/forum/showthread.php?t=195124)

b_ear 01.03.2013 22:31

Цитата:

Сообщение от DaFive (Сообщение 1123076)

вот спасибо. это пожалуй очень полезно, сдвинуло меня с мертвой точки. Но по прежнему остается проблема, NativeProcess поддерживается только в среде выполнения AIR... как я понял из документации.

Я делаю приложение Вконтакте, а там я пока не понял можно делать на этой платформе или нет. В любом случае, менять среду не хотелось бы. Я оставлю этот вариант на самый крайний случай.
Моя среда выполнения FlashPlayer 11.2. Пока что вижу только вариант с SharedObject из реально возможных.

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

iflamberg 01.03.2013 22:43

Приложение AIR, которое запускается на компьютере пользователя и online-приложение вконтакте, по-моему совсем разные вещи.
А зачем вам привязка к компьютеру, если вы можете уверенно ассоциировать пользователя приложения с его логином вконтакте? о_О

b_ear 02.03.2013 00:15

Цитата:

Сообщение от iflamberg (Сообщение 1123131)
А зачем вам привязка к компьютеру, если вы можете уверенно ассоциировать пользователя приложения с его логином вконтакте? о_О

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

Добавлено через 9 минут
PS: немного поменял первый пост, теперь он звучит более точно)

Nooob 02.03.2013 03:38

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

b_ear 02.03.2013 11:39

Цитата:

Сообщение от Nooob (Сообщение 1123153)
Сервер при авторизации к нему генерирует session_id и сохраняет его для этого пользователя в базе данных, при любом запросе на сервер отправляется session_id который прислал сервер для клиента, сервер сравнивает session_id который прислал клиент с тем что записан у него последним безе данных. если с этого пользователя было несколько обращений к серверу, то валидным будет только последняя авторизация.

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

gloomyBrain 02.03.2013 13:49

Я не знаю, что Вы имеете ввиду под "мультами", но я точно могу сказать что один компьютер на двоих - вполне нормальное явление.

b_ear 03.03.2013 18:54

Цитата:

Сообщение от gloomyBrain (Сообщение 1123198)
Я не знаю, что Вы имеете ввиду под "мультами", но я точно могу сказать что один компьютер на двоих - вполне нормальное явление.

да один на двоих это бывает. но когда человек запускает по 20 окон и при том одновременно.... это уже как то НЕ нормально.
Но я не хотел бы обсуждать этот вопрос в данной теме, тут речь идет про то как отследить подобные нарушения в FlashPlayer 11.2 ActionScript 3.0. если будет такой механизм, дальше я уж разберусь, два это человека или один нарушитель)

iflamberg 03.03.2013 19:07

Доступа к аппаратке у вас не будет. Никак не будет. Даже не заморачивайтесь. У вас приложение в браузере, политика безопасности запрещает иметь доступ к аппаратке компьютера.

Отследить два одновременных запущенных окна можно с помощью LocalConnection. Так, например в TimeZero делают, если мне не изменяет память. Работает, кажется, даже если в разных браузерах запускать. Но все равно легко обходится - заводим несколько учетных записей системы, правая кнопа мыши на браузере, запустить от имени пользователя.

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

Никакой более крутой защиты не придумаешь. Точка.

b_ear 04.03.2013 03:42

Цитата:

Сообщение от iflamberg (Сообщение 1123348)
Доступа к аппаратке у вас не будет...

но все же, если никому особо не говорить что применены какие то способы отслеживания, а потом просто раз в месяц закрывать аккаунты мультов, я думаю на 90% данную проблему закрыть можно.
к этому еще нужно добавить знание операционной системы, ip адреса, еще каких то особенностей которые все же есть в System и Capabilities.
мне кажется пытаться сделать чтото подобное все равно надо. иначе совсем беспредел начинается.
ну и тема пока всеже повисит, может кто найдется с решением. у меня время есть, игра еще в разработке.

В любом случае спасибо за очередную подсказку - LocalConnection. Я это учту.

Александр Мостовой 05.03.2013 10:27

Все таки интересно, чем же sharedObject не подходит? сгенерируйте переменную Math.random и сохраните ее на сервере и в шарид обжект проверяя при инициализации.

Заюзав в ID дату возможно, в зависимости от задач, вообще обойтись без сервера.


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

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