Как можно реализовать расширенную функцию «Нравится», оставить комментарий или подобную функцию на веб-сайте с поддержкоJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Как можно реализовать расширенную функцию «Нравится», оставить комментарий или подобную функцию на веб-сайте с поддержко

Сообщение Anonymous »

Я создаю динамический веб-сайт, который использует HTML, CSS, JavaScript и PHP в качестве серверной части. В настоящее время я размещаю свой веб-сайт локально, используя кроссплатформенный XAMPP. Обратите внимание, что я не использую никаких библиотек или фреймворков, кроме jQuery. Теперь я пытаюсь отобразить на главной странице несколько сообщений, которые можно поставить лайк или прокомментировать, не переходя на отдельную страницу. Поскольку существует более одного сообщения, нам обязательно необходимо определить, с каким сообщением взаимодействуют и какой идентификатор сообщения, прежде чем отправлять запрос на сервер.
Самый простой подход, который я использовал. найденный способ реализовать это, заключается в использовании атрибута data-* для хранения идентификатора каждого сообщения. Но атрибут data-* можно легко подделать с помощью инструментов разработчика. Например, злоумышленник может изменить идентификатор первого сообщения на идентификатор другого сообщения, и это не будет работать должным образом. Это заставило меня прийти к выводу, что атрибутам data-* наряду с другими данными на стороне клиента нельзя напрямую доверять.
Вот почему я придумал другой подход к использованию обработчика запросов. чтобы сохранить и получить все идентификаторы сообщений в формате JSON, а затем проанализировать этот JSON, чтобы получить идентификатор сообщения, используя индекс элемента связанного сообщения. Но здесь есть одна проблема: что, если пользователь добавит или удалит элемент сообщения из дерева DOM? Порядок идентификаторов сообщений в проанализированном JSON и порядок соответствующих элементов в дереве DOM не совпадают. В результате это тоже не работает.
За последние несколько дней это доставило мне много хлопот, поскольку я пытался найти разные решения, но ничего не помогало. . Итак, я попробовал выполнить поиск в Google, задать вопросы моделям искусственного интеллекта, таким как ChatGPT, Gemini, посмотреть видеоуроки на YouTube, но нашел мало контента по этому поводу, и все они используют атрибут data-*, который, конечно, недостаточно продвинут и недостаточно безопасен.
Я рассмотрел возможность использования JS-прокси, чтобы предотвратить изменение атрибута data-* вандалистами (как предложил ChatGPT), и использование MutationObserver для обнаружения любых изменений, внесенных в дерево DOM. Но я не уверен, что это правильный способ сделать это. Итак, я спрашиваю, как лучше всего реализовать такую ​​функцию, невосприимчивую к любому виду вандализма и угроз безопасности, в моем сценарии.
Дополнительно Хотя я знаю, что гиганты социальных сетей, такие как Facebook или Instagram, не реализуют эту функцию так, как это делают небольшие веб-сайты, я все же был бы признателен за любую информацию о том, как они могут сделать это на своих веб-сайтах. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-a-php-en
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»