Форум OlegON > Ресурсы OlegON > Вопросы сервера > База штрихкодов

Проблема с API c 16.01.2020 : "Произошла ошибка безопасности"

23.02.2020 5:14


23.01.2020 19:46
volk13
 
Цитата:
OlegON Скорее всего, какие-то обновления были, которые не поставили
В связи с прекращением с 14 января 2020 года поддержки со стороны Microsoft продукта Windows 7 (ну и следовательно подобных серверных платформ, подозреваю, в том числе и Win2008), и в связи с тем, что последнее обновление Windows 7 не только настойчиво предлагает перейти на Win10, а уже и всякого рода "козни" устраивает (например ломает рабочий стол, и т.д.. - информации много в интернете, а ссылки форум не позволяет публиковать), принуждая перейти на новую ОС - обновлять круглосуточно работающий (причём стабильно) сервер - я думаю не лучший вариант на сегодняшний день (да и вообще - лучшее враг хорошего, т.е. если какая-то система стабильно работает, то лучше её не трогать без особой надобности)..

но это так, небольшой офф
23.01.2020 19:49
OlegON
 
Ну, раз офф, то там еще патчи против SMB1 были и много еще чего полезного... А вот чтобы 2008 куда-то предлагал обновляться я не помню.
А в данном случае это как раз не про стабильную работу...
23.01.2020 20:08
volk13
 
Так я не ради поспорить или что-то доказать, а просто пояснил свою точку зрения, что если с сервера никто в интернет не выходит (запрещено и невозможно), и микрозадача работы через API одного из модулей - решилась, а основную свою вычислительную задачу (для которой доступ в интернет не нужен) сервер беспрекословно выполняет уже много лет, то гнаться за обновлениями ОС не нужно (ну это лишь моя точка зрения, т.к. ранее уже сталкивался с последствиями неудачных и кривых обновлений).
На этом свой офф заканчиваю ;)
23.01.2020 21:34
volk13
 
Итак, окончательный итог:

если https сайт использует протокол TLS1.1 или TLS1.2, а IE на системе их не поддерживает, то через объект WinHttp.WinHttpRequest.5.1 не получится работать с таким сайтом.

PS. Пробовал отключать именно в WinHttp проверку сертификата - не помогло:
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language = "javascript";
Скрипт.AddObject("WinHttp",Объект);
Скрипт.Eval("WinHttp.Option(4)=13056"); //intSslErrorIgnoreFlags
Скрипт.Eval("WinHttp.Option(6)=true"); //blnEnableRedirects
Скрипт.Eval("WinHttp.Option(12)=true"); //blnEnableHttpsToHttpRedirects

т.е. вывод выше - верный и провереный


Конкретно у меня - установлен IE 9.0.8112.16421 (там поддержка лишь TLS1.0).
Получится ли обновить IE до той версии, где есть поддержка TLS1.2 - на моей операционке ("мохнатый" Windows Server 2008 Standard SP2, установленный в 2009 году) - я не знаю и рисковать не хочу.

Проблему решил переходом на протокол HTTP, использовать вместо WinHttp - Curl (с помощью опции "-k" которого можно отключить проверку сертификата) - не хочу, поэтому тему считаю полностью раскрытой и понятной, всем спасибо за участие и помощь.
23.01.2020 21:41
volk13
 
но, если появятся интересные предложения именно по некритичным обновлениям IE (с конкретными пакетами) - то может быть и попробую, рискну ;)
23.01.2020 22:13
OlegON
 
а при чем тут IE? это в системе... и обновлять надо все, кроме того, что вам не нужно, это и есть предложение
23.01.2020 23:13
volk13
 
Цитата:
OlegON а при чем тут IE?
Не знаю причём, может и нипричём.., но вот только curl же позволяет отключить проверку сертификата, а через объект WinHttpRequest не получается эту проверку отключить..
Вот и сделал такой вывод - что связь с ИЕ всё-таки есть (тем более раньше сам же про подобное уже писал тут)
Меня ведь сейчас интересует лишь одно - почему невозможно отключить проверку сертификата именно в WinHttpRequest на моей операционке - это же не работа с сертификатом через TLS1.2, а лишь просто отключение его проверки, т.е. должно сработать, а вот не срабатывает это отключение, хоть ты выспись.. (т.е. я хочу просто обойти проблему, а не решить её через обновления компонентов, но обойти её почему-то одним инструментом получается. т.е. дело не в ОС однозначно, а другим инструментом - не получается)
24.01.2020 06:56
OlegON
 
Дело-то как раз в ОС, поскольку WinHTTPRequest именно из нее берется. Возможно, что и связь с IE есть, поскольку он тоже намертво к ОС приколочен.
Я выше писал пример, вроде как отключить проверку можно. Во-первых, можно попробовать через те же настройки IE (они общие для многого), во-вторых, через свойства создаваемого объекта. Будет так же, как в curl. Просто не будет проверяться, что там на моей стороне. И это неправильно.
Но, еще раз, если такое уже началось, то начнется во многих местах. Лучше, пока есть возможность, систему полностью обновить. Это продлит ей жизнь. Ненужные обновления и деинсталлировать можно.
27.01.2020 21:53
Flywood
 
Цитата:
volk13 через curl - пробовал из линукса, а не из виндовс.. Из виндовс пока нет возможности проверить через curl
Можно использовать Postman -
графическая програмка для отправки любых запросов.
К сожалению у меня нет прав дать вам ссылку на эту програмку. так что гуглите.
27.01.2020 21:56
Flywood
 
Цитата:
OlegON а при чем тут IE? это в системе... и обновлять надо все, кроме того, что вам не нужно, это и есть предложение
Некоторые программы используют настройки ИЕ для своих соединений. Для Виндовс это нормально.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.