Как удаленно включить / отключить скрипт tampermonkey для других пользователей - PullRequest
0 голосов
/ 16 апреля 2020

Я создал скрипт tampermonkey и хотел бы поделиться им с другом. Есть ли способ отключить его удаленно и сделать его неработоспособным, чтобы он больше не мог его использовать?

Я думаю о чем-то вроде файла .txt на моем сервере с указанными значениями c. Это будет служить маркером. Мой скрипт будет работать только в том случае, если токен совпадает с сервером. Таким образом, я могу изменить токен в любое время, сделав скрипт неработоспособным для моего друга.

Любая идея, как это возможно :) Спасибо!

1 Ответ

1 голос
/ 16 апреля 2020

Я думаю о чем-то вроде файла .txt на моем сервере с указанными c значениями в нем

Это одна идея - убедитесь, что конечная точка вашего сервера имеет Access-Control -Allow-Origin *, чтобы его можно было запрашивать через Javascript из любого места, и ваш пользовательский скрипт запрашивает его, а затем проверяет, совпадает ли он. Но если ваш друг вообще знает какой-либо Javascript, это будет легко обойти.

Я думаю, что лучшим способом было бы сохранить основной исходный код только на вашем сервере. Таким образом, если скрипт перестает работать, пользователи не могут просто открыть его и отладить. Подумайте о том, чтобы ваш сервер обслуживал основной контент скрипта, и чтобы пользовательский скрипт выполнял ответ:

fetch('serverEndpoint')
  .then(res => res.text())
  .then((text) => {
    eval(text);
  });

Хотя это может достичь sh вашей цели, очень небезопасно для пользователей вашего userScript, так как теперь у вас есть возможность запускать произвольный код на своих машинах. Если бы я увидел такой пользовательский скрипт, я бы пометил его как ненадежный, не подумав ни секунды.

Еще один способ - зашифровать ваш код в пользовательском сценарии так, чтобы его можно было расшифровать только путем запроса ключа у вашего сервера. и беги. Это было бы безопаснее для пользователей, но если они не могут увидеть, что на самом деле делает скрипт, они могут не доверять ему - и если они знают достаточно Javascript, они смогут посмотреть ответ вашего сервера и расшифровать ваш сами исходники.

...