Bomboos: учитывая что собираетесь выставлять счет то вы как минимум оказываете услуги (если это только не разновидность спама), в таком случае получить API ключ не составит проблемы. Если же хочется извра.. работать без API то можно написать кликер, качество работы будет сомнительным, на C# реализуется буквально 3 - 4 функциями. В принципе есть исходник одного такого, если нужно могу выложить как opensource.
Артем: про пароль соглашусь, находил анализ согласно которому пароль в виде пары тройки нормальных "человеческих" слов в виде пароля намного безопасней сочетаний закорючек. Про инстраграм не соглашусь, так можно слить десяток страничек, и то не факт, что сотрудника фотающего свой монитор не уволят раньше, утащить таким образом базу ПД клиентов в 10 Гб не получится, а с NAT легко. Но в целом согласен, нужно смотреть в контексте задачи, на счет прокси не соглашусь, особых проблем научить свой софт работать с прокси нет. Делал поддержку разных проксей и особых заморочек нет (для C# конечно, думаю на том же C++ это тот еще геморой).
Артем: у нас пользователи для работы по ssh из внешней сети используют отдельный терминальный сервер, данные на который скопировать нельзя, доступы ограничиваются на уровне vlan.
Если инициатор "утечки данных" находится во внутренней сети отследить и заблокировать данные за Nat будет невозможно, прокси же может сканировать данные по сигнатуре и шифрование тут ничем не поможет, если сигнатура архива к примеру, то передать данные не выйдет.
По поводу данных согласен, они разные бывают, но лучше сделать правильно, чем потом "школьники" будут воровать информацию. Так хоть от дурака защита будет.
Артем: не соглашусь, скажем если есть только маршрутизация и я как умный вася "разрешу только вебстранички смотреть" то есть открою 80 порт, что делает умный недоброжелатель, открывает по ssh тунель на свой сервер по 80 порту (ssh без разницы на каком порту крутиться) и сливает к себе всю клиенскую информацию. Что обстоит с прокси, на стороне прокси можно настроить все(зависит от сервера конечно), например фильтрация по содержимому, проксе не даст "передать" контент в внешний сервер (см mcaffe web gateway к примеру). Второй момент, через прокси нельзя иницировать подключение с внешней сети, а значит любые попытки проникнуть извне невозможны впринципе, пройти за NAT вполне можно, если очень постараться. И третий момент, я понимаю что потеря клиентских данных не всеми организациями воспринимается как чтото страшное, но это до первого же конфликта с потерей доверия клиентов, поэтому безопастность должна быть на первом месте, удобность на последнем. "Вот смотрите - в первую очередь делается подключение желательно чтобы у всех были белые адреса, если не получается, то нат, если совсем все печально прокси." - этот подход может быть для домашнего компьютера, но не для организации.
Артем: в общем то согласен, если на компьютерах в сети нет клиенских данных а только фотки с котятами то проблемы особой нет, в таком случае не вижу причин вообще что либо ограничивать, обычно ограничения создают чтобы предотвратить утечку данных или бесконтрольный доступ к сомнительным ресурсам, тут все решается на уровне прокси легко. для подключение ресурсов локальный сети к внешней (чтобы был доступ к ним извне) обычно создают DMZ (ru.wikipedia.org/wiki/DMZ_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8)) в которой уже крутится сервер, тем самым внутренняя сеть остается изолированной от внешней сети, в самом тупом и дешевом варианте для этого достаточно в веб сервер воткнуть вторую сетевую карту и ее подключать к интернету.
VSharipov особых проблем если их много кстати нет, насколько я понял обе настраиваются в файлах конфигурации, можно сделать утилиту, которая по списку ip\порт\логин пароль скопирует "прообраз" в отдельные папки, настроит конфигурационные файлы и запустит каждый прокси.
беглое гугление показывает smallproxy.ru/settins/set-http/proxy.php, в любом случае 1 программы для "много проксей" я думаю нет, ибо весьма специфическая задача.
Артем: NAT это в некотором смысле "прямое" подключение к сети и при определенной сноровке двухстороннее подключение, что крайне негативно сказывается на безопастности всего, что есть в сети. Подключение же "снаружи" при использовании прокси сервера практически исключено.
Александр Воробьев: если под правилами считать только белый или черный список то из бесплатных знаю handycache, пользуюсь уже года 2. Есть поддержка пользователей.
Александр: и к слову 100% защиты все равно не будет, т.к. любое приложение можно декомпилировать, вопрос только в уровне знаний того, кто это будет делать
Александр: единственный способ в таком случае заменить md5 на чтото другое например на md5 от md5 N раз потом от того что получилось SSH, код который это расчитывает нужно защитить всеми возможными средствами, обфускация там и тп, в таком случае сам пользователь сможет подменить запрос только если сможет декомпилировать ваш код.
Александр: пример нужно гуглить, самый элементарный вариант, среди прочих параметров запроса добавляется еще 1 к примеру "&sign=" в этом параметре передавать текст MD5Hash(IMEI+все параметры запроса в string)
соответственно сервер должен знать его IMEI и по нему определять что это именно тот кто был нужен, MD5Hash это функция возвращаяющая хэш сумму от текстовой строки, в строке будет IMEI и все параметры. сервер должен проделать всю эту процедуру точно так же и если параметры не изменены и IMEI тот же получит туже строку в этом параметре. Так сервер может быть уверен что прислал именно тот кто знает IMEI. Если нужна идентификация конкретного устройства в MD5Hash(строку) можно добавить еще какую ни будь произвольную строку, которая хранится на устройстве и которая так же известна серверу.
Это приметивный, но достаточно эффективный способ подписи. Пример расчета md5 есть тут stackoverflow.com/questions/4846484/md5-hashing-in..., со стороны сервера алгоритм не меняется, но реализовываться должен естественно на языке сервера
если делать просто "защиту от дурака" то достаточно в header запроса положить какие ни будь "признаки" типа сменить агента или чтото в этом духе, сервер же прочитает header и у браузера этого признака не найдет, от взломщика который слегка умнее табуретки это не спасет
Shiramine: повторил код у себя string sender = "localhost:811";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(sender);
WebResponse resp = null;
req.Proxy = null;
req.Method = "GET";
req.Timeout = 1500;
req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
req.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 OPR/27.0.1689.66";
var coociesStr = "asdasdads";
req.Headers.Add("Cookie", coociesStr);
req.Headers.Add("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
DateTime dt1 = DateTime.Now;
resp = req.GetResponse();//задержка 400-800мс (иногда превышает таймаут)
DateTime dt2 = DateTime.Now;
TimeSpan ts = dt2 - dt1;
Console.WriteLine(ts.Milliseconds );
StreamReader sr = new StreamReader(resp.GetResponseStream());
string str = sr.ReadToEnd();
sr.Close();
Console.ReadLine();
на GetResponse 10 мс, на весь блок кода 70 мс, нужно проверить на другом компьютере, если будет нормально то это вопрос из серии "GetResponse ( ) Медленное только на моем компьютере", вкратце погуглил причину вроде не нашли, какой антивирь стоит? Есть смысл попробовать его снести вместе с файрволами и попробовать снова, возможно антивирусы сетевой поток проверяют.
KirillMB: эмулировать устройство по lpt еще хоть в теории но возможно, там все немного проще, но на usb есть 100500 обработчиков и форматов данных, все эмулировать это надо быть еще тем извра..любителем, советую гуглить в сторону "виртуальный принтер linux", ставить на него виртуальный принтер и просто скачивать с него готовые файлы хоть по samba хоть по ftp
StrangeAttractor: можно попробовать поиграться с настройками устройства в диспетчере задач, в частности попробовать выключить галку "отключать устройство для экономии энергии", такие глюки на нее похожи
lock screen widgets это не то, там виджеты для определенных lockеров вместо стандартного, эти умудряются вешать свое окно поверх lock screen без рута и на любой версии look screen