Обнаружение предварительного просмотра URL-адреса клиента SMS

Sudhir спросил: 28 марта 2018 в 03:30 в: c#

У меня есть ситуация, недавно выявленная пользователями моего приложения, которые я сделал более 2 лет назад.

Чтобы сократить этот вопрос, есть ссылка на URL, посланная клиенту, щелчок которой вещи выполняются на основе зашифрованного ключа, который передается вместе с строкой запроса URL. Раньше он работал нормально, потому что пользователю нужно было щелкнуть ссылку в SMS, чтобы выполнить это. Но теперь, когда клиенты SMS, например, в iPhone или что-то подобное, они берут URL-адрес и пытаются показать предварительный просмотр (похожий на то, что делает приложение skype и т. Д.). Но проблема в том, что ссылка есть только один раз, и при втором нажатии ссылка уже истек, потому что предполагается, что ее уже ударил.

Итак, в этой ситуации пользователь никогда не может перейти следующий шаг, поскольку ссылка уже используется в виде предварительного просмотра сообщения.

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

Расскажите, как можно идентифицировать клиента, который просто ищет теги og или как идентифицировать эти типы клиентов, чтобы фактический запрос не обрабатывался, если это сделано вручную пользователем, нажав на ссылку.


1 ответ

BlythMeister ответил: 28 марта 2018 в 03:55

Насколько я знаю, в спецификации открытого графа нет единой клиентской программы, которую клиенты должны использовать.

Поэтому блокировка, основанная на этом, является постоянно движущейся целью, каждое приложение может использовать своего агента, если они так хотят.

Я всегда возражал против этого, что действие get никогда не должно быть разрушительным действием. Get всегда должно быть безопасным для запуска снова и снова. Если вам нужно разрушительное действие, страница должна содержать какую-либо форму ввода / кнопки / ссылки пользователя, которая будет вызывать публикацию на сервере.

При необходимости вы также можете добавить дополнительный уровень безопасности в ссылку, попросив пользователя подтвердить что-то из данных, например их телефонный номер.

Это означает, что если ссылка попала в чужие руки (помните, что SMS не зашифрованы, поэтому их можно отследить), то без этой информации пользователь должен будет ввести, что он не сможет выполнить разрушающее действие ссылки.