Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№110-02-2007 14:45:04

horseman
Участник
 
Группа: Members
Зарегистрирован: 10-02-2007
Сообщений: 4
UA: Opera 9.0

Изменить src изображения

Доброго времени суток всем!
Есть у меня форма для закачки картинок на сервер. Она состоит из инпута и имаджа:

Выделить код

Код:

<img  alt="Добавить фото" title="Предпросмотр изображения" name="pict_prev" id="pict_prev" />
<input type="file" name="pict" ID="pict" onchange="pict_onpropertychange()" id="pict" />

Я хочу чтобы при выборе картинки она показывалась пользователю предпросмотром:

Выделить код

Код:

function pict_onpropertychange(){
alert(document.getElementById("pict").value);
document.getElementById("pict_prev").setAttribute("src", document.getElementById("pict").value);
}

Этот код без проблем отрабатывает в ИЕ, но в ФФ изображение на появляется.
Подсткажите плиз в чем может быть проблема?

Отсутствует

 

№210-02-2007 15:04:24

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341
UA: Firefox 2.0

Re: Изменить src изображения

Надо

setAttribute("src", "file://"+document.getElementById("pict").value+"");

Фокс же так файлы с винта открывает.


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№310-02-2007 16:28:05

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Firefox 0.8

Re: Изменить src изображения

horseman
Этот трюк на сервере работать не будет, т.к. политика безопасности запрещает web-страницам загружать локальные ресурсы.

Отсутствует

 

№410-02-2007 17:50:56

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341
UA: Firefox 2.0

Re: Изменить src изображения

Yan
Безопасности Лисы или Вообще?


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№510-02-2007 20:44:41

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Firefox 0.8

Re: Изменить src изображения

stoneflash
Вообще.  Возможность загружать локальные картинки -- дыра в безопасности, которая может позволить сайтам собирать информацию о ПО, установленном у пользователя, и т.п. Любой нормальный браузер этого не позволит.  Я не проверял, но более чем уверен, что IE этого тоже не позволяет.

Отсутствует

 

№611-02-2007 01:51:42

horseman
Участник
 
Группа: Members
Зарегистрирован: 10-02-2007
Сообщений: 4
UA: Opera 9.0

Re: Изменить src изображения

Yan пишет

Этот трюк на сервере работать не будет, т.к. политика безопасности запрещает web-страницам загружать локальные ресурсы.

При чем здесь сервер? Скрипт по-определению отрабатывается на клиенте а не на сервере. На сервер данные передаются только в виде posto'v geto'v

Yan пишет

Вообще.  Возможность загружать локальные картинки -- дыра в безопасности, которая может позволить сайтам собирать информацию о ПО, установленном у пользователя, и т.п. Любой нормальный браузер этого не позволит.  Я не проверял, но более чем уверен, что IE этого тоже не позволяет.

Посмотрите на аватар stoneflash"а откуда-то он взялся на сайте...?
Его именно загрузили на сервер посредством клиента, наверняка того же самого лиса.
А в том, что это работает на ИЕ- можете убедится сами- весь необходимый код я привел.
Так шо сорри, но это все :offtopic:

Отредактировано horseman (11-02-2007 01:55:10)

Отсутствует

 

№711-02-2007 02:38:59

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Изменить src изображения

horseman пишет
Yan пишет

Этот трюк на сервере работать не будет, т.к. политика безопасности запрещает web-страницам загружать локальные ресурсы.

При чем здесь сервер?...

Имеется в

виду, это не будет работать, когда страница будет отсылаться с сервера. Работать будет только с localhost.

Yan пишет

...не проверял, но более чем уверен, что IE этого тоже не позволяет.

Я проверил на denwer'е, позволяет. (отображает, по крайней мере картинку).

Отредактировано Anton (11-02-2007 02:52:30)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№811-02-2007 02:39:38

INFOMAN
Телепаты в отпуске
 
Группа: Extensions
Откуда: Кишинев
Зарегистрирован: 31-12-2005
Сообщений: 1099
UA: Firefox 2.0
Веб-сайт

Re: Изменить src изображения

Обрабатываются-то они на клиенте, но если странице, открытой с веба, позволить загружать локальный контент, то она сможет легко залить на сервер любую инфу без ведома пользователя. Тебе бы понравилось, если бы у тебя веб-сайт украл все пароли?


Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL

Отсутствует

 

№911-02-2007 03:45:23

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Firefox 0.8

Re: Изменить src изображения

Anton

Я проверил на denwer'е, позволяет. (отображает, по крайней мере картинку).

Мда,  по поводу любого нормального браузера я погорячился. Сейчас пишу из Firefox 0.8, в нём этот баг также присутствует.
INFOMAN
Ну, пароли-то через эту дырку не вытащить, но узнать некоторую информацию о системе пользователя вполне возможно.

horseman
Для примера состряпал страничку, которая грузя локальные картинки, пытается определить установленное у пользователя в C:/Program Files/ ПО:
http://xsms.nm.ru/temp/ie/local_images_detecting/
(К сожалению, я выбрал не самые популярные программы, у Вас их может и не быть, но смысл должен быть понятным).
В ИЕ работает даже с web-сайта (из-за дыры), в Firefox 1.5 и Опера9 только с локалхоста.

Отсутствует

 

№1011-02-2007 04:09:42

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341
UA: Firefox 2.0

Re: Изменить src изображения

Yan

Для примера состряпал страничку, которая грузя локальные картинки, п

Это ли не доказывает, что вышеупомянутый скрипт будет работать?


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№1111-02-2007 04:44:38

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Firefox 0.8

Re: Изменить src изображения

stoneflash
Только в IE:

Yan пишет

В ИЕ работает даже с web-сайта (из-за дыры), в Firefox 1.5 и Опера9 только с локалхоста.

Кстати, надо бы в IE7 ещё проверить, быть может там эту возможность уже прикрыли.

Отсутствует

 

№1211-02-2007 05:22:52

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Firefox 2.0

Re: Изменить src изображения

При чем здесь сервер? Скрипт по-определению отрабатывается на клиенте а не на сервере. На сервер данные передаются только в виде posto'v geto'v

Скрипт грузится с сервера и отрабатывает на клиенте. Если он получит доступ к компьютеру клиента, отправить обратно данные не составит труда, например, через JavaScript через get-запрос, сменив адрес картинки на странице, или документа во фрейме.

Отсутствует

 

№1312-02-2007 12:24:59

horseman
Участник
 
Группа: Members
Зарегистрирован: 10-02-2007
Сообщений: 4
UA: Opera 9.0

Re: Изменить src изображения

INFOMAN пишет

Обрабатываются-то они на клиенте, но если странице, открытой с веба, позволить загружать локальный контент, то она сможет легко залить на сервер любую инфу без ведома пользователя. Тебе бы понравилось, если бы у тебя веб-сайт украл все пароли?

Украсть пароли с функциональностью языка Javascript можно разве что если их хранят в текстовом файле с именем "маи пароли.txt" на рабочем столе...
2Yan: Не могу понять логики твоих постов... То ты говоришь что это невозможно потому что безопасность, то приводишь скрипт, который должен доказывать обратное...
ЗЫ По-поводу http://xsms.nm.ru/temp/ie/local_images_detecting/. Всеми моими браузерами как с локала, так и с сайта он сказал, что нет у меня ничего из этого софта, даже опры, которой я щас пишу.

stoneflash пишет

setAttribute("src", "file://"+document.getElementById("pict").value+"");

Спасибо за мысль, такой код работает:

Выделить код

Код:

function pict_onpropertychange(){
var fName
if (document.all)
    fName=document.getElementById("pict").value;
else{
    fName=String(document.getElementById("pict").value).replace(/\\/g, "/");
    fName="file:///"+fName;
}
	document.getElementById("pict_prev").setAttribute("src", fName);
}

Но, только с локала. Ладно, буду думать дальше.

Добавлено Пнд 12 Фев 2007 12:52:13 :
Есть предположение, что может помочь установка дополнительных привелегий, в часности:

Выделить код

Код:

netscape.security.PrivilegeManager.enablePrivilege("UniversalFileRead");

Но если с локала браузер запрашивает разрешить эти привелегии или нет, но с сервера скрипт отваливается с ошибкой:

uncaught exception: A script from "http://ХХХХХХХХХХХ" was denied UniversalFileRead privileges.

Мож есть какие настройки безопасности лисы, о каких  я не знаю, что-нить типа безопасных узлов ИЕ?

Отредактировано horseman (12-02-2007 12:25:54)

Отсутствует

 

№1412-02-2007 14:58:05

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Изменить src изображения

с сервера скрипт отваливается с ошибкой

Неподписанный, наверное, вот и отваливается.

такой код работает...Но, только с локала...

В опере и с локала не работает. horseman, зачем так изощрённо ограничивать круг потенциальных пользователей ресурса ? post-get, и будет работать везде.

ЗЫ По-поводу http://xsms.nm.ru/temp/ie/local_images_detecting/. Всеми моими браузерами как с локала, так и с сайта он сказал, что нет у меня ничего из этого софта, даже опры, которой я щас пишу.

horseman, а почему он так сказал ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1512-02-2007 15:39:35

horseman
Участник
 
Группа: Members
Зарегистрирован: 10-02-2007
Сообщений: 4
UA: Opera 9.0

Re: Изменить src изображения

Неподписанный, наверное, вот и отваливается.

А можно чуть подробнее про эту подпись...

В опере и с локала не работает. horseman, зачем так изощрённо ограничивать круг потенциальных пользователей ресурса ? post-get, и будет работать везде.

Блин, опра использует свой префикс при открытии имаджей file://localhost ...
Возможно я дейстительно ставлю заплатки на заплатки, но раньше оно так работало, а начать обьяснять опять юзверям, шо теперь вы должны нажать сначала сюда, увидеть сюда и т.п.- это лишний раз не хоцца. Лучше шоб изменения проходили в бекгранде от них. Ну, если в ближайшее время не найду решения- так и поступлю.

horseman, а почему он так сказал ?

ХЗ это уж к автору скрипта. Я особо не вникал.

Отсутствует

 

№1612-02-2007 16:23:39

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Firefox 0.8

Re: Изменить src изображения

horseman

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

Логика проста.
Я знал, что в Firefox и Опера из соображений безопасности web-страницы не имеют права загружать локальные картинки, и по ошибке распространил то же правило на IE.
Когда же выяснилось, что IE, по крайней мере шестой, всё таки это позволяет, написал скрипт, показывающий потенциальную опасность загрузки локальных картинок.

ЗЫ По-поводу http://xsms.nm.ru/temp/ie/local_images_detecting/. Всеми моими браузерами как с локала, так и с сайта он сказал, что нет у меня ничего из этого софта, даже опры, которой я щас пишу.

Смысл скрипта:
- загрузить локальную картинку, например, file:///C:/Program Files/Opera/styles/images/opera.png;
- если размеры картинки больше нуля, значит, у пользователя по этому адресу находится данная картинка, следовательно можно сделать вывод, что установлена Опера;

Браузер делиться такой информацией не должен.

Отсутствует

 

№1713-02-2007 17:23:03

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Изменить src изображения

чуть подробнее про эту подпись...

там. Хотя, это было лишь предположение.

начать обьяснять опять юзверям, шо теперь вы должны нажать сначала сюда, увидеть сюда

Мож есть какие настройки безопасности лисы

И в чём будет разница ?

ХЗ это уж к автору скрипта. Я особо не вникал.

Жаль, предположение оправдалось. Иными словами,

...буду думать...

момент ещё не настал ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]