Профиль пользователя заблокирован сроком с 24 марта 2024 г. и навсегда по причине: систематические нарушения пункта 5.2 правил сервиса
  • На сколько безопасно Apache HttpClient соединение?

    @My1Name Автор вопроса
    стандартные настройки безопасности бразуеров

    - Стандартные настройки браузера, запрещают лишь всплывающие окна и закрывают доступ к сайтам не поддерживающим ssl. Последнее, между прочим, вышвырнуло с интернета все не коммерческие проекты.

    Http-клиенты js вообще не выполняют.

    - Вот и я думаю: Не с этим ли связано подвисание некоторых потоков в моей программе?

    взломал целую кучу серверов, "правильно обрабатывающих URL".

    Как? - Ведь нельзя сделать больше, чем протокол http позволяет?

    почему базы уязвимостей набиты уязвимости серверов, а не клиентов.

    Вопрос остался открытым: Почему принято считать, что сервер хороший, а клиент плохой?
    Сегодня чаще можно услышать о краже личных данных пользователя, а не о взломе или порче сервера. Администрация того или иного ресурса, может специально заявлять о взломе или ещё что-то там придумывать, чтоб оправдать продажу БД.
  • На сколько безопасно Apache HttpClient соединение?

    @My1Name Автор вопроса
    Сергей Горностаев,
    вы запросили условно index.html, а в ответ вам прилетел virus.exe

    Почему сразу "virus.exe"? Например под Cookie в Apache выделяется некоторый объём памяти. По большому счёту - это набор байтов, который например может как-то взаимодействовать с каким-то скриптом. - Это всё конечно же мои догадки и предположения ("гадание на кофейной гуще"). Однако, многие сайты без поддержки javascript вообще не работают. При этом могут без предупреждения собирать инфу. о посетителях и пользователях.

    История знает тысячи случаев взлома серверов

    - Сервер невозможно взломать, если он правильно обрабатывает URL. Клиент принимает условия сервера, а не наоборот. Поэтому клиент больше подвержен опасности.
  • На сколько безопасно Apache HttpClient соединение?

    @My1Name Автор вопроса
    Сергей Горностаев,
    Что вы имеете ввиду под безопасностью?

    Я имею ввиду вредоносный код. HTTP соединение через HttpClient, также как и через InputStream - это по сути TCP/IP соединение. Отправляя REST запрос, я открываю порт, а что отправляет сервер - это уже зависит от владельца ресурса.

    Вы в данном случае клиент, а значит и хулиганство возможно только с вашей стороны.

    Клиент не может ничего отправить, что не принимает сервер. Это сервер выставляет условия. А слепо доверять любому ресурсу - это как минимум безрассудно.
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Dmitry Roo,
    Вам надо научиться редиректы обрабатывать.
    Как можно обработать редирект "недействительного" адреса? Чтоб узнать Location, нужно запросить хотя-бы Header... Попробуйте создать URLConnection с таким адресом. Вы получите UnknownHostException
    сергей кузьмин,
    DNS не поддерживает Unicode
    Так что нужно сделать, или как обратиться к такому узлу? UriUtils и URLEncoder в данном случае не поможет. Как правильно кодировать «неправильный» URL? - Заглавие вопроса.
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    сергей кузьмин,
    В адресной строке вижу ссылку https :// ניהולמוניטין.co.il а при попытке её скопировать, в памяти получается https : // www. xn--8dbcambdbusobg. co. il/


    General (Header)
    Request URL: https://www.xn--8dbcambdbusobg.co.il/
    Request Method: GET
    Status Code: 304
    Referrer Policy: strict-origin-when-cross-origin

    - Кстати, таких сайтов достаточно много в интернете. На сколько я понимаю - это какой-то прокси... Нашёл случайно. Вот ещё подобный случай (301 редирект): https :// mäklararvode.se
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Dmitry Roo, Да. В адресной строке вижу ссылку https :// ניהולמוניטין.co.il а при попытке её скопировать, в памяти получается https : // www. xn--8dbcambdbusobg. co. il/
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Dmitry Roo, а что показать? :) Получилась ссылка: https :// %D7%A0%D7%99%D7%94%D7%95%D7%9C%D7%9E%D7%95%D7%A0%D7%99%D7%98%D7%99%D7%9F.co.il и java.net.UnknownHostException Первая ссылка, с русским языком, получилась как у вас и всё работает.
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Dmitry Roo, Кодирует, но связи через HttpURLConnection с сервером нет. InetAddress.getByName(); - выдаёт исключение по такому адресу.
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Dmitry Roo, UriUtils.encodePath(path, "UTF-8"); - работает. А второй вариант не работает.
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    А как быть с такими "https :// ניהולמוניטין.co.il" ? Через браузер, в адресной строке я вижу это. А если вы попробуете скопировать url, то в результате получите ссылку следующего вида "https : // www. xn--8dbcambdbusobg. co. il/"
  • Как правильно кодировать "неправильный" URL?

    @My1Name Автор вопроса
    Из расчёта на один язык (например только русский), можно проверять ссылки на наличие символов в диапазоне в соответствии с ASCII. А как быть с остальными? - Или же наоборот, нужно проверять имеются ли символы в диапазоне, отличающемся от англ. языка?
  • Можно ли переопределить метод в скомпилированной программе?

    @My1Name Автор вопроса
    т.е. исходников нет но развивать как то надо?
    Исходники есть. На данном этапе можно делать всё что угодно. Вопрос в том, как правильно организовать дальнейшую поддержку обновлений программы? В комментарии к ответу выше описал ситуацию.
  • Можно ли переопределить метод в скомпилированной программе?

    @My1Name Автор вопроса
    Экстендите классы

    - Логично. Но будет ли оно так работать? У меня в классе Main алгоритм программы. Мэйн запускает программу, при этом нужно переопределять методы в классе Tools, которые использует Main. Каждый раз переписывать алгоритм - я не хочу... Думаю: можно ли вынести методы в отдельный класс и потом их дорабатывать не трогая мэйн? Или это нужно Tools делать в виде external.jar и деплоить в виде обновлений? - Не могу понять, как правильно организовать проект с возможностью дальнейших обновлений.
  • Как правильно организовать Thread pool?

    @My1Name Автор вопроса
    Как пулы связаны с синхронизацией

    - Метод использует WebDriver selenium, а его объявление как "synchronized" почему-то не срабатывает...
    Драйвер объявлен статическим, и единственным экземпляром в классе, потому что создавать новый для каждого потока - это затратно (Жрёт ресурсы).

    Что я уже только не делал: Создавал пул в виде карты на WindowHandle - ConcurrentHashMap; пытался организовать очередь через ExecutorService Future; совал потоки в BlockingQueue... В общем остановился на том, что при входе в метод у каждого свой new WebDriver Организовать очередь запущенных потоков - мне так и не удалось.
  • Как исправить apache.http.NoHttpResponseException?

    @My1Name Автор вопроса
    Как вы это поняли? - Я 2 дня "мучал" сайт...