URL-адрес может быть зашифрован, но если браузер может понять, дешифрование это было бы тривиальный процесс для хакера. Я предполагаю, что вы хотите, чтобы предотвратить слишком много людей от доступа к вашему URL. Для этого вам придется иметь какую-то систему входа пользователя или ограничение на основе IP. Оба из них должны быть подкреплены базой данных.
Вместо ссылки непосредственно на файл, вы должны ссылаться на что-то вроде download.php?fileid=$some_file_id
, и в вашей базе данных вы просто вставляете идентификатор пользователя (или IP-адрес) и идентификатор файла каждый раз, когда файл загружается. Затем, чтобы отобразить файл обратно пользователю, вы бы проверить, сколько загрузок этого файла были сделаны пользователем, и если оно меньше, чем ваш порог, например:
SELECT COUNT(*) FROM downloads WHERE user = :user AND file_id = :id
Затем получить PHP эхо содержимое файла в браузер.
Добавить другие положения, такие как ограничение его на X
загрузок за последние 24 часа и т. Д. Или, тем не менее, вы хотели бы его обработать.
Другие вещи, которые вы могли бы сделать, хранить файлы вне корневого каталога документов (или защиты прямого доступа с .htaccess
или аналогичный), и в том числе хэш имени файла в ссылке, так что кто-то не мог просто сделать download.php?fileid=1
и предположим, следующий следующий: download.php?fileid=2
.
Почему это должно привести к взлому вашего сервера? – bwoebi
Вы можете использовать urlEncode/rawURLEncode (любое преобразование может также использоваться как шифрование), но это не решит вашу проблему, если вы скажете, что у вас есть проблема с безопасностью. Вероятно, вам следует объяснить, что вы беспокоитесь о безопасности, поскольку ваша проблема может быть более простой. – griffin
@griffin просто рассмотрите этот один возможность. Если пользователь устанавливает URL-адрес, например: www.hello.com/myApp, он увидит весь список загруженных файлов и сможет его загрузить. Я хочу скрыть эту часть /myApp/file.txt с зашифрованным текстом. – Naruto