За последние 24 часа нас посетили 20915 программистов и 1016 роботов. Сейчас ищут 550 программистов ...

Отправка линка с ссылкой на страницу для заполнения

Тема в разделе "Прочие вопросы по PHP", создана пользователем art_pr, 4 дек 2020.

  1. art_pr

    art_pr Новичок

    С нами с:
    30 ноя 2020
    Сообщения:
    14
    Симпатии:
    0
    Привет всем, делаю такую вещь, на сайте есть список людей у которых нужно проставить некоторые атрибуты хозяин сайта сам не должен это делать но хочет отправить ссылку по почте другим людям и они по ссылке без авторизации должны зайти на сайт и изменить страничку с этими людьми, потом этот список висит в заданиях у админа сайта и он решит записать это в базу или там что то не так еще.
    Хотел генерировать длинное имя файла и складывать в какую нибудь папку подальше от корня, и слать ссылку пользователям, потом вывести эти странички в админке и ждать пока юзеры сделают изменения, правильно ли так организовать эту задачу или есть какие то более продуманные решения и с точки зрения безопасности и с точки зрения юзабилити, одно только условие важно, пользователи "люди занятые" которые даже логин пароль вводить не будут, только ссылку жмыкнуть времени хватает )
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Для пользователя генерируется какой либо хеш-ключ
    формируется ссылка типа site.ru/share_edit/4234m23lk4l23k4ml23km4l23m4l23km
    при переходе по данной ссылке - проверяется в БД есть ли такой хеш-ключ, если есть - пользователь автоматически авторизуется
    у него появляются права соответственно на свой профиль или чего там у вас - редиректим на страницу редактирования данных.... профит

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

    art_pr Новичок

    С нами с:
    30 ноя 2020
    Сообщения:
    14
    Симпатии:
    0
    спасибо, а механизм проверки хэш-ключа как организовать? Создать share_edit контроллер и по url проверять по базе?
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    механизм чего вам нужно? роутинга?
    да я откуда знаю какой у вас сейчас, применяйте к нему, может у вас олдскульно index.php?action=share_edit&key=bla-bla-bla будет,

    или механизм поиска в БД по значению одного из полей? Это батенька элементарщина....
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    По-любому это лучше, чем «генерировать длинное имя файла и складывать в какую нибудь папку подальше от корня» :)

    Там еще такое дело, что ключик лучше каждому человеку давать свой на страницу с настройкой только его атрибутов, но, наверное, хозяину будет в лом отправлять отдельное письмо с уник ключом каждому челу, поэтому лучше написать скрипт рассылки.
    --- Добавлено ---
    P.S. Простой фронт, который может автоматом выбирать данные/формировать страницы по адресам вроде /share_edit/4234m23lk4l23k4ml23km4l23m4l23km: G-Drive DBE 3 (один из последних примеров: 100 строк кода, позволяющих базе данных приобрести лицо). Кстати, ссылки на подписку/отписку рассылки этого фронта имеют точно такой же формат адреса (наверняка делалось им же или чем-то подобным).
     
    #5 miketomlin, 4 дек 2020
    Последнее редактирование: 4 дек 2020
  6. art_pr

    art_pr Новичок

    С нами с:
    30 ноя 2020
    Сообщения:
    14
    Симпатии:
    0
    Спасибо, попробую :)