MAC-адрес Ethernet как код активации для устройства?

Я рад, что браузеры хотят спасти нас от навязчивых скриптов и т. п. Я не доволен тем, что IE помещает что-то в браузер, что делает простой стиль-fix похожим на хакерскую атаку!

Я использовал & lt; span>, чтобы представить входной файл, чтобы я мог применить соответствующий стиль к & lt; div> вместо & lt; input> (еще раз, из-за IE). Теперь из-за этого IE хочет показать пользователю путь со значением, который просто гарантированно поставит их на страже и, по крайней мере, опасается (если не полностью их отпугнуть?!) ... БОЛЬШЕ IE-CRAP!

Во всяком случае, благодаря тем, кто разместил объяснение здесь: Безопасность браузера IE: добавление «fakepath» в путь к файлу во входном файле [type = «file»] , я собрал minor fixer-upper ...

Нижеприведенный код выполняет две функции: он исправляет ошибку IE8, в которой событие onChange не срабатывает до тех пор, пока поле onBlur не выведет поле и не обновит элемент с очищенным файловым пути, который не пугает пользователя.

// self-calling lambda to for jQuery shorthand "$" namespace
(function($){
    // document onReady wrapper
    $().ready(function(){
        // check for the nefarious IE
        if($.browser.msie) {
            // capture the file input fields
            var fileInput = $('input[type="file"]');
            // add presentational  tags "underneath" all file input fields for styling
            fileInput.after(
                $(document.createElement('span')).addClass('file-underlay')
            );
            // bind onClick to get the file-path and update the style 
fileInput.click(function(){ // need to capture $(this) because setTimeout() is on the // Window keyword 'this' changes context in it var fileContext = $(this); // capture the timer as well as set setTimeout() // we use setTimeout() because IE pauses timers when a file dialog opens // in this manner we give ourselves a "pseudo-onChange" handler var ieBugTimeout = setTimeout(function(){ // set vars var filePath = fileContext.val(), fileUnderlay = fileContext.siblings('.file-underlay'); // check for IE's lovely security speil if(filePath.match(/fakepath/)) { // update the file-path text using case-insensitive regex filePath = filePath.replace(/C:\\fakepath\\/i, ''); } // update the text in the file-underlay fileUnderlay.text(filePath); // clear the timer var clearTimeout(ieBugTimeout); }, 10); }); } }); })(jQuery);

7
задан Mark Renouf 27 August 2008 в 14:15
поделиться

4 ответа

Я не думаю, что существует что-либо волшебное о том, что Вы делаете здесь - не мог, что Вы делаете быть описанными как:

"При производстве мы записываем уникальное число в каждое из наших устройств, которое оба читаемо конечным пользователем (это находится на маркировке), и доступный для внутреннего процессора. Наши пользователи должны ввести этот номер в наш веб-сайт наряду с их деталями кредитной карты, и поле впоследствии связывается к веб-сайту для разрешения работать"

"По совпадению мы также используем это число в качестве MAC-адреса для сетевых пакетов, поскольку мы должны исключительно присвоить это во время производства так или иначе, таким образом, это сохранило нас копирующий этот бит работы"

Я сказал бы, что две очевидных опасности:

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

  2. Кто-то использует комбинацию правил брандмауэра/маршрутизатора и небольшого количества заказного программного обеспечения для генерации сервера, который копирует эксплуатацию 'подлинного сервера' и дает разрешение к устройству продолжаться. Вы могли сделать это тяжелее с некоторой комбинацией hashing/PKE как часть протокола.

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

2
ответ дан 7 December 2019 в 12:27
поделиться

Я не думаю, что известный spoofability MAC-адресов является проблемой в этом случае. Я думаю, что tweakt просто желает использовать их для начальной идентификации. Устройство может считать свой собственный MAC-адрес, и установщик может (как долго, поскольку это печатается на маркировке), читает то же число и знают, "хорошо - это - поле, которое я поместил в местоположение A".

tweakt - эти поля звонили бы в сервер производителя или сервер компании/человека с помощью них (или это - то же самое в этом случае)?

3
ответ дан 7 December 2019 в 12:27
поделиться

MAC-адрес так уникален, как порядковый номер распечатал на руководстве/этикетке.

Microsoft делает хеширование, чтобы предотвратить спуфинг MAC-адреса и позволить немного больше конфиденциальности.

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

(см., что пароль хеширует),

1
ответ дан 7 December 2019 в 12:27
поделиться

С точки зрения безопасности я знаю, что возможно имитировать MAC, хотя я не совсем уверен, насколько трудный это или что это влечет за собой.

Иначе, если у клиентов нет легкого доступа к аппаратным средствам или ОС, необходимо быть довольно безопасным выполнением этого..., вероятно, лучше всего для помещения этикетки предупреждения на высказывание, что питание с чем-либо разрушит коммуникацию к серверу.

-1
ответ дан 7 December 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: