За последние 24 часа нас посетили 17340 программистов и 1921 робот. Сейчас ищут 986 программистов ...

Генерировать рандомный индификатор для пользователя

Тема в разделе "PHP для новичков", создана пользователем glorsh66, 30 май 2018.

  1. glorsh66

    glorsh66 Активный пользователь

    С нами с:
    9 июл 2017
    Сообщения:
    247
    Симпатии:
    4
    Хочу скрыть ID шники пользователей от прямого взора заменив их на индификаторы. В первую очередь для защиты от авто спама (а то можно просто инкременить и всем слать сообщения)

    Какой вариант лучше выбрать?

    Код (Text):
    1.     do
    2.     {
    3.       $random_selector = bin2hex(random_bytes(30));
    4.     }
    5.     while (find_collision_selector($random_selector)); //Это функция которая проверят наличие такой строки в базе
    Или
    Код (Text):
    1. uniqid();
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    юникиды не рандомные
     
  3. AlexandrS

    AlexandrS Активный пользователь

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    Если у тебя ID на сайте, то что мешает собрать их парсером и потом спамить? И тут не важно уникальный он или нет, соберут всё.
    Если тебе просто нужно уникальный ID то можно к порядковому номеру, проосто добавлять рандомную строку.
    Т.е. было у тебя

    Код (Text):
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ты просто пишешь функцию для генерации рандомной строки какой хочешь длины и будет у тебя так

    Код (Text):
    1. 1_djhf
    2. 2_ksff
    3. 3_ksjd
    4. 4_jhwy
    5. 5_lfda
    6. 6_jdks
    Можешь даже длину рандома придумать от и до.