В веб-приложение для преобразования изображений, которые я хочу, чтобы запретить прямой доступ к изображениям других пользователей и Я достигнуть его, добавив этот код в моем главном .htaccess
файле:Как запретить доступ к изображениям, загруженным другим пользователем?
RewriteCond %{HTTP_COOKIE} !PHPSESSID=(.+) [OR,NC]
RewriteCond %{HTTP_COOKIE}:%{REQUEST_URI} ^PHPSESSID=(.*?);:(?!.*?/usuarios/\1).* [NC]
RewriteRule ^.*?/usuarios/.+?\.(gif|jpe?g|png|wbmp)$ - [R=403,L]
Так как пользователи имеют свою собственную папку для загружать и преобразовывать изображения, это правило будет проверять, если вы ищете изображение, каталог которого соответствует вашему id_session
, и выдает ответ 403, если он не соответствует.
Кажется, что все нормально, но если какой-либо пользователь присоединяет изображение и меняет scr
с изображением другого пользователя (при условии, что он знает путь), он отображает это изображение.
Как я мог предотвратить это?
Вы можете проверить на http://itransformer.es
Я предпочел бы, чтобы эта логика реализована в коде приложения вместо веб-сервера. Я имею в виду, что это работает, поскольку сеансы не обязательно должны быть постоянными (однопользовательский сайт), но я думаю, что было бы проще и более портативно реализовать его в реальном приложении. –
Он также реализован, но он не позволяет изменять собственный тег «img» и доступ к изображению. – Manolo