![]() |
Доступ к Php скриптам только из swf
Всем привет! Появилась задача: воспрепятствовать обращению злоумышленника к пхп скриптам напрямую, чтобы они запускались только из swf, такое возможно?
|
Нет, невозможно. Тем более, что обращается к php не swf, а браузер.
|
Пресечь обращение "не из swf" невозможно. Но сделать защиту "от дурака", при которой вызов скрипта будет узнавать нужный запрос, можно. Создаем строку запроса к серверу, добавляем к ней ключик, который заложен в swf, создаем MD5 хеш полученной строки, добавляем его к исходному запросу и отсылаем скрипту. Скрипт первым делом воссоздает все эти же действия с тем же ключом и проверяет MD5 хеши: полученный и воссозданный. Если не совпадают — злоумышленник. Если совпадают — твоя swf... или трудолюбивый злоумышленник с декомпилятором.
|
Плюс сделать, чтобы обращались только с определенного домена, в htaccess.
|
Цитата:
|
Цитата:
Добавлено через 2 минуты Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
А если намекнуть то - "Так плагин или плеер?" ;) |
Цитата:
Добавлено через 1 минуту к тому же ключик в мд5 не спасет и от сниффера, мне как бы не нужно знать сам ключ, мне достаточно знать этот самый мд5, который я спокойненько из сниффера смогу получить и прикрутить к своему запросу. |
Цитата:
|
Ну мало ли.
Пополнил баланс приложения на 1 голос и сто раз повторил запрос, в чем проблема то. Короче было бы желание, а как заюзать я найду. |
Баланс не клиентским запросом пополняется, а через проверки, которые идут мимо клиента, — тебе ли это не знать! Что же ты вводишь начинающих разработчиков в заблуждение :)
|
Ну как пример.
Игровое бабло то внутри проверяется, намучу я себе стопицот монет таким вот образом. А если глобально то сервер банально должен контролить эти все приколы, могу ли я себе начислить в данный момент данным образом столько то монет. У нас вообще сделано мол клиент шлет команду - начислить с такой то доходной постройки - а там уже сервер смотрит чего и сколько. Т.е. клинент во-первых с одной постройки дважды не начислит - его сервер пошлет, а во вторых цыфру клиент не знает пока ему баланс сервером не пополнится. Вернее знает как бы предварительно, но это только визуально для игрока, на балансе этой цифры нету. Вообще от читов надо сервером защищаться а не шифрованием каналов, так как отснифферить или же декомпилить всё что угодно можно. Мы собственно на шифровании не заморачивались вообще, хочешь - читай на здоровье. |
Цитата:
|
Работа с рейтингом вообще больное место в игре. В идеале проверять на сервере практическую возможность темпа и/или последовательности начисления очков. В случае, если темп очевидно завышен и/или последовательность очков не соответствует геймплею, принимать решение. Проще всего просто блокировать сильно уж неправдоподобный рост очков и заносить id игрока в списочек.
|
Я что такое рейтинг? Для него нужна отдельная цифра? Я за расчет рейтинга из нескольких составляющих.
Вот есть у меня колво сыгранных игр, есть колво очков заработанных, ну я там на сервере их как-то считаю и сортирую игроков. |
А не проще давать возможность одному игроку поднимать рейтинг другому, только один раз.
incRating(player1_id , player2_id , rate) и хранить в базе, при попытке добавить рейтинг проверять |
Цитата:
|
Ну тогда при начале игры выдавайте токен на игру, и проверяйте что пользователь в этой игре (и она не закончилась), тогда для начисления рейтинга потребуется присоединяться к игре, что усложнит возможность напрямую вызывая php накручивать рейтинг. но полностью от этого (накрутки) избавиться вам не получиться, используя такой подход, кому надо найдут как накрутить, т.ч. единственный способ это ограничивать повышение рейтинга(что противоречит вашим требованиям).
|
Я че-то все-равно не въехал.
Можно на пальцах как ваш рейтинг считается и что это вообще такое в вашей игре? Просто я считаю что вот так вот втупую скриптом рейтинг пополнять как-то хз. Оно изначально не так происходить должно. |
| Часовой пояс GMT +4, время: 10:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.