---
title: 'Про браузеры, файлы, безопасность и JavaScript'
url: 'https://graker.ru/news/2011/10/14/pro_brauzery_faily_bezopasnost_i_javascript'
language: ru
type: post
author: 'Роман Грачев'
published: '2011-10-14T00:25:26+04:00'
updated: '2016-08-07T17:13:20+03:00'
categories:
  - Программирование
  - Разработка
  - Web
---

# Про браузеры, файлы, безопасность и JavaScript

В современных браузерах, безусловно, очень много внимания разработчики уделяют безопасности. Настолько много, что иногда ум за разум заходит.

Так, например, есть известный элемент HTML &lt;input type="file"&gt;, предназначенный для открытия пользователем файла у себя в компьютере, предположительно — для последующей его отправки на сервер. Когда пользователь нажимает кнопочку *Browse* и выбирает в стандартном диалоге операционной системы нужный файл — полный путь к нему немедленно появляется в поле слева от кнопочки. Однако если мы вдруг захотим обратиться к полю *input* с целью получить этот самый полный путь через *JavaScript*, система безопасности современного браузера тут же покажет нам современную фигу. И вместо полного пути возвратит только имя файла.

А я вот хочу чтоб в браузере пользователь мог проигрывать локальные видео-файлы. И для выбора проигрываемого файла отлично подходит диалог из элемента *input*. Но нет — тут, оказывается, дыра в безопасности, дескать, я так по полному пути могу делать всякое нехорошее с файлами и директориями. Правда, при этом я могу создать обычный текстбокс &lt;input type="text"&gt; и попросить пользователя ввести полный путь к файлу туда. Причем, причин вводить путь к файлу у пользователя будет столько же, сколько выбирать его в диалоге. Разве что это гораздо неудобнее выбора файла в диалоге. А делать с файлом всякое я смогу все равно (кроме, пожалуй, его загрузки на сервер).

В интернетах тут и там встречаются всякие хитрые хаки и читы, помогающие вытащить-таки из файлового диалога полный путь к выбранному файлу. Однако они а) разные для разных браузеров; б) хаки и читы — то есть, быстро закрываются разработчиками браузеров.

Через это вопрос к общественности: знает ли кто какой-нибудь плагинчик jQuery или иное средство для вызова системного диалога «Открыть файл» без использования &lt;input type="file"&gt;, но с возможностью получения полного пути к выбранному файлу? Поделитесь, а.

Также подойдет возможность увязать &lt;input type="file"&gt; с объектом на странице, чтобы, типа, они сами, без меня, «безопасно» путями обменивались. Но это наверно из разряда фантастики.
