Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите сделать доступ по ID
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите сделать доступ по ID

Страниц (1): [1]
 

1. korsika - 21 Февраля, 2020 - 08:31:37 - перейти к сообщению
Помогите написать скрипт, очень нужна ваша помощь.
Если такое возможно сделать на php.

что есть:
- есть несколько устройств на Android, программа подключаясь к серверу автоматом скачивает файл для чтения.
- в логе Apache фиксируются ID Android подключенных устройств к серверу, т.е. программа стоящая у клиента посылает серверу свои ID.
в таком виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. 12.13.145.31 - - [20/Feb/2020:07:47:58 +0300] "POST /files/my.txt HTTP/1.0" 200 250 "-" "{\"platform\":\"android\",\"app\":\"proga.di\",\"ver\":\"1.0\",\"cod\":\"123\",\"sdk\":\"14\",\"name_dev\":\"XiPro\",\"id_dev\":\"d93da24fa07bcb9e\"}"


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

Всем Спасибо!
2. LIME - 21 Февраля, 2020 - 22:47:33 - перейти к сообщению
korsika зачем тебе логи? почему в самом приложении нельзя сделать?
как может приложение ориентироваться на лог если лог может быть написан после самой отработки приложения
чушь несусветная
спроси что конкретно надо а не предполагай решение
3. korsika - 22 Февраля, 2020 - 07:33:30 - перейти к сообщению
LIME, нужно сделать доступ к серверу по "белому"списку по ID устройств или другим критериям, по IP не по подходит, т.к. динамические, при этом не привлекать клиента к самостоятельной регистрации.
4. LIME - 22 Февраля, 2020 - 07:36:37 - перейти к сообщению
Ну так делай
Что пробовал и что не получилось?
Подсказка: гуглить фингерпринт устройства
5. korsika - 22 Февраля, 2020 - 07:50:28 - перейти к сообщению
LIME, я не программист, для меня это темный лес, поэтому и попросил тут помощи в написании скрипта.
6. LIME - 22 Февраля, 2020 - 07:56:53 - перейти к сообщению
korsika а я программист
и смею надеятся очень неплохой как минимум
и вангую тебе кучу траблов раз решил самостоятельно делать бэк для мобил
там куча подводных камней
найми когонибудь
сам твой подход к решению от логов заставляет широко улыбаться
сам не потянеш
ответа тут нет и быть не может
не жди
(Добавление)
это сложно если не отвечать буквально на твою дурость
на твой бред можно дать совет
но он тебе не нужно
очнись
7. korsika - 22 Февраля, 2020 - 08:06:59 - перейти к сообщению
все ясно, видимо этот раздел не соответствует своему названию или тут просто сидят умники, которые могут только заниматься "не бредом", а чтоб действительно помочь у них нет особого желания или знаний, только амбиции, если я в следующий захочу поболтать, то теперь знаю к кому обратиться ))
удачи.
8. Vladimir Kheifets - 22 Февраля, 2020 - 08:14:23 - перейти к сообщению
korsika пишет:
Помогите написать скрипт, очень нужна ваша помощь.
Если такое возможно сделать на php.
что необходимо:
- прочитать ID клиента из лога Apache или из буфера
- запретить доступ всем ID, кто не в белом списке из файла white.txt
- запрещать подключаться более чем одному устройству с одним и тем же ID.
Всем Спасибо!

Добрый день!
1.Конечно, читать что-то из лога Apache не нужно, а под буфером, видимо, подразумеваетстся "чтение" информации в PHP-скрипте из $_SERVER['HTTP_USER_AGENT'], $_REQUEST
2. Что конкретно, в файла white.txt и почему файл,а не таблица в БД?
3. Видимо, небходимо запоминать информацию о заходе клиента, м.б. в том же белом списке, добавив в него флажок захода (активности клиента), который должен обнуляться при выходе клиента(завершения работы скрипта) с помощью register_shutdown_function.
Удачи!
9. LIME - 22 Февраля, 2020 - 08:27:01 - перейти к сообщению
korsika я тебе дельный совет попробовал дать
ты воспринял иначе
слушай тогда гера Кнейфица...он решит))
Vladimir Kheifets без обид...ты молоток
(Добавление)
korsika
Цитата:

Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум - из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится - тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите - лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!!
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!!
Прохожий: Самое крепкое дерево - дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно!!!


http://forum.php.su/topic.php?forum=...v=l
10. korcika - 22 Февраля, 2020 - 18:11:04 - перейти к сообщению
Vladimir Kheifets пишет:
1.Конечно, читать что-то из лога Apache не нужно, а под буфером, видимо, подразумеваетстся "чтение" информации в PHP-скрипте из $_SERVER['HTTP_USER_AGENT'], $_REQUEST
у меня был ранее подобный скрипт на C# для игры, он по такому же принципу работал, возможно на php есть какие то критические ограничения, но все же.
Vladimir Kheifets пишет:
2. Что конкретно, в файла white.txt и почему файл,а не таблица в БД?
имя файла как пример, в нем ручками я заношу ID клиентов с новой строки
Vladimir Kheifets пишет:
3. Видимо, небходимо запоминать информацию о заходе клиента, м.б. в том же белом списке, добавив в него флажок захода (активности клиента), который должен обнуляться при выходе клиента(завершения работы скрипта) с помощью register_shutdown_function.
тут я не силен
спасибо за ответы

меня больше интересует пример

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

очень прошу, не выносите мозги, просто помогите скриптом )
11. Vladimir Kheifets - 23 Февраля, 2020 - 17:52:31 - перейти к сообщению
korcika пишет:
меня больше интересует пример
очень прошу, не выносите мозги, просто помогите скриптом )

Добрый день!
К сожалению, у меня не было возможности показать окончательное решение.
См. несколько функций, которые Вы можете использовать и доработать по своему усмотрению.
1. CheckEnv($buf) проверяет данные реквеста одинаковые для всех пользователей тонкого клиента на андроиде.
2. idInFileErr($ID,$file) сранивает ID из реквеста с данным из файла white.txt, например
Цитата:
d93da24fa07bcb9a
d93da24fa07bcb9b
d93da24fa07bcb9c
d93da24fa07bcb9e

3.setIdCounter($ID,$file,$shutdown=null) модифицирует запись в файле white.txt для заданного например ID d93da24fa07bcb9e,
Цитата:
d93da24fa07bcb9a
d93da24fa07bcb9b
d93da24fa07bcb9c
d93da24fa07bcb9e;1

Если задан параметр $shutdown=true, изменяет запись на d93da24fa07bcb9e;0
Спойлер (Отобразить)
м.б это немного Вам поможет...
Удачи!
12. korcika - 23 Февраля, 2020 - 21:26:04 - перейти к сообщению
Vladimir Kheifets, Большой Спасибо за пример!
но похоже ничего не получится, т.к. к скрипту должно быть обращение устройства при подключении к серверу, чтоб он заработал, а устройство при подключении сразу обращается к файлу и скачивает его, я как то упустил эту проблему (

есть ли другие варианты, например постоянно мониторить подключающиеся устройства и затем уже выполнять скрипт?
13. Vladimir Kheifets - 24 Февраля, 2020 - 08:14:26 - перейти к сообщению
korcika пишет:
Vladimir Kheifets, Большой Спасибо за пример!
но похоже ничего не получится, т.к. к скрипту должно быть обращение устройства при подключении к серверу, чтоб он заработал, а устройство при подключении сразу обращается к файлу и скачивает его, я как то упустил эту проблему (

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

Для того, чтобы мониторить клиента на сервере при получение реквеста от клиента, на сервере должен запускать скрипт (не "затем"), который должен использовать функции, которые я Вам показал, но и самое главное проверять отключение/неактивность клиента(shutdown).
Предполагаю, что в Вашем случае register_shutdown_function не буду надёжно работать.
Поэтому нужно подумать о том, как отправлять shutdown request со стороны клиента, по клику на кнопку "выйти".

 

Powered by ExBB FM 1.0 RC1