Страница 1 из 2

У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 14:35
aaanet
Доброго времени суток!

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

Т.е. есть список друзей. Из них у некоторых установлено определенное приложение.
Как выводить список этих самых друзей, у кого установлено.

Re: У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 15:06
Александр

Re: У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 18:38
aaanet
Спасибо.

А как лучше создавать базу MySQL. Т.е. название каждой таблицы ID пользователя? и внутри таблицы остальные параметры?
Или название параметра брать как название таблицы, к примеру, "score" и внутри уже параметры типа ID и его значение. И само score и его значение.

если кто не понял обьясню чуть по-другому.

К примеру в приложении несколько параметров, score, money, honey, water и разумеется ID человека.
Как лучше сделать с таблицами MySQL?
Создать таблицу? название которой будет это самое ID человека. А в ней уже параметры типа score, money, honey, water и их значения.
Или же создать несколько таблиц, названиями которых послужат параметры score, money, honey, water соответсвенно. И в каждой такой таблице будет ID и его значение. И значение самого параметра score или money или honey, или water


Спасибо.

Re: У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 18:58
Nick Lisogor
Не сильно понял то, что вы имели в виду. Думаю, лучше создать одну таблицу такого типа:

id_пользователя | score | money | honey | water

Пример её структуры:

Код: Выделить всё

CREATE TABLE IF NOT EXISTS `users` (  `id` int auto_increment,  `user_id` int default NULL,  `score` int default 0,  `money` int default 0,  `honey` int default 0,  `water` int default 0,  PRIMARY KEY  (`id`),  UNIQUE KEY `uid` (`user_id`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
Поясняю: поле id нужно для различных запросов, использующих группировку(почитай о PRIMARY KEY), user_id - это id пользователя, остальные же столбцы указаны соответственно тем, которые назвали вы, при добавлении пользователя в БД id будет заполнятся автоматически, user_id нужно будет указать, остальные параметры можно как указывать, так и не указывать(по умолчанию равны 0).

Советую почитать документацию так, как вы не полностью понимаете, что именно вам надо.

Re: У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 19:21
aaanet
Спасибо. Я получил ответ.

Т.е.
если будет несколько человек в базе получится:
ID | score | money | honey | water
ID2 | score2 | money2 | honey2 | water2
ID3 | score3 | money3 | honey3 | water3
ID4 | score4 | money4 | honey4 | water4

А как тогда обратится, к примеру, к honey3?

Re: У кого из друзей установлено приложение?

Добавлено: 13 мар 2011, 19:31
Nick Lisogor
Я же сказал, читайте документацию...

Код: Выделить всё

SELECT `honey` FROM `users` WHERE `user_id`='ID3'; -- Выбираем значение столбца honey там, где id_пользователя = ID3(вернет honey3)

Re: У кого из друзей установлено приложение?

Добавлено: 17 мар 2011, 04:08
aaanet
Спасибо. Почитал. С базами и php разобрался. Думаю больше вопросов не возникнет по этому поводу.

Но вот другая проблема, которую не знаю как обойти.
Безопасность. Тестирую всё взаимодействие с сервером. Включил charles и ужаснулся. Все мои связи с сервером можно перехватить и изменить.
Самый оптимальный выход - не передавать в php сами данные, а передавать определенную функцию, чтобы вся арифметика проходила в самом php.

Но...всё равно без каких либо данных никак, например, тот же ID.
Любой может перехватить и исправить его на ID другого человека, который есть в базе.
Как обезопасить взаимодействие с сервером?

Re: У кого из друзей установлено приложение?

Добавлено: 17 мар 2011, 04:23
bodnar
проверяйте на валидность auth_key
все же уже какая никакая безопасность

Re: У кого из друзей установлено приложение?

Добавлено: 17 мар 2011, 17:03
aaanet
На сколько я понимаю, это примерно таким кодом.
Во флеше:

Код: Выделить всё

 ............//передаем данные php скриптуvar vars:URLVariables = new URLVariables();vars['auth_key']=params['auth_key'];vars['viewer_id']=params['viewer_id'];............. 
а в php

Код: Выделить всё

 .............// принимаем данные с флеша$auth_key  = $_POST['auth_key'];$viewer_id = $_POST['viewer_id'];$uid = $viewer_id; // Рассчитываем ключ авторизации$real_key = md5($app_id."_".$viewer_id."_".$api_secret); if ($auth_key == $real_key){    blablabla...} 
но...разве нельзя перехватить этот auth_key.
Или auth_key под MD5? и также зашифрован как и real_key?

Re: У кого из друзей установлено приложение?

Добавлено: 17 мар 2011, 17:28
Nick Lisogor
bodnar писал(а):проверяйте на валидность auth_key
все же уже какая никакая безопасность
bodnar, валидность auth_key - это больная тема, ведь можно n таких запросов отправить потом)