Как ограничить доступ к веб-приложению PHP на одной машине?

По сути, я хочу предоставить веб-приложение (встроенное в PHP, MySQL, Apache) пользователям с исходным кодом на случай, если у них нет подключения к Интернету. Но при этом я должен позаботиться о том, чтобы пакет веб-приложений (с Apache, PHP, MySQL и реальным приложением с данными) не мог быть скопирован и запущен на другом компьютере (может быть, мы можем связать аутентификацию с серийным идентификатором жесткого диска).

Первое решение, которое пришло мне в голову, — это создать отдельное приложение, но у нас нет такой возможности, потому что у нас есть ограничение только на веб-приложение.

Я подумал, что одним из решений является создание веб-браузера, подобного контейнеру (который может использовать один из системных браузеров внутри) на Java или на любом другом автономном языке программирования, где у нас есть дополнительная аутентификация для текущей машины, а внутри она использует системный браузер для HTTP запросы / ответы.

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

Следует иметь в виду, что мы предоставляем весь исходный код с серверами, поэтому аутентификация с использованием базы данных или PHP не будет очень полезной.

0

Решение

Но при этом я должен позаботиться о том, чтобы пакет веб-приложений (с Apache, PHP, MySQL и реальным приложением с данными) не мог быть скопирован и запущен на другом компьютере (может быть, мы можем связать аутентификацию с серийным идентификатором жесткого диска).

Это, строго говоря, невозможно.

Первое решение, которое пришло мне в голову, — это создать отдельное приложение, но у нас нет такой возможности, потому что у нас есть ограничение только на веб-приложение.

Вы когда-нибудь слышали о IDA Pro? JD-GUI? ILSpy?

Автономные приложения могут быть легко перепроектированы. Это защитит ничего такого.

Ваши лучшие варианты:

  • Предоставьте облачную службу, которая полностью независима от HTTP-клиентов, поэтому вы можете владеть внутренними машинами, которые содержат ваш исходный код, а затем предоставить своим клиентам тупой интерфейс с открытым исходным кодом, который взаимодействует с серверной частью.
  • Обеспечьте соблюдение политик в отношении программного обеспечения (т. Е. Разрешается запускать только одну копию программного обеспечения) с помощью соответствующего инструмента для работы: юристов и контрактов.
0

Другие решения

Других решений пока нет …