Суббота, 15 Ноя 2014 в 19:55

Как запретить сохранять картинки

Автор: admin

Политика браузеров такова, чтобы любому пользователю предоставить свободный доступ как исходнику html страницы так и к картинкам на страницы. Обычно всё это делается через контекстное меню. Значит надо искать способы, чтобы пользователи не могли вызывать это меню.

1_52552e03b0c3252552e03b0c72

С выходом в свет Internet Explorer 5.0 появилась возможность управлять меню. Теперь в тэге можно использовать событие oncontextmenu которое обрабатывается каждый раз, когда контекстное меню собирается появиться на страничке. Если перехватить это событие и возвращать false, то контекстное меню не будет появляться. Поэтому если использовать

<img src="images/picture.jpg" oncontextmenu="return false">

то пользователь никогда не увидит контекстного меню для данного элемента страницы.
Те, кто не использует Internet Explorer 5.0 могут проделать эту хитрость при помощи Cascading Style Sheets (CSS):

<img src="images/clear.gif" width=200 height=142
     style="background:url(images/picture.jpg)">

Здесь использован тэг для отображения прозрачной картинки GIF с теми же размерами чтои реальная картинка. А затем, при помощи стиля в качестве фона установлено нужное изображение. Данный приём работает в Internet Explorer 4.0.
Однако, это ухищрение не будет работать в Навигаторе, а нижеприведённое будет:

<div style="background:url(images/picture.jpg) no-repeat; width:200;
     height:142">
<img src="images/clear.gif" width=200 height=142>
</div>

Этот код фактически проделывает тоже самое — поверх реальной картинки помещается прозрачное изображение, а сама картинка делается фоном тэга

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

Ваш отзыв

Цитаты великих

"Бывают люди, которым вредно помогать: чем больше для них делаешь, тем менее они склонные делать для себя сами."

Джейн Остин

Я в Контакте