Pull to refresh
11
Данила Поярков@dannote

Пользователь

2
Subscribers
Send message
Не-а, FH не позволял работать с IMAP/POP3/SMTP. Там вообще были запрещены какие-либо исходящие подключения, что вполне разумно с их стороны.
Это конец. На Freedom Hosting хостились практически все сайты Tor-а, кроме крупнейших вроде TorMail, Black Market Reloaded, Silk Road и The Hidden Wiki. Впрочем, атака на пользователей идет уже давно, пару раз всплывала куча данных с TorMail, но думаю, таким грязным историям не место на Хабре.
Мне представляется более реальной такая ситуация: вы встречаете на кассе старого знакомого, он улыбается, радуясь встрече, вы улыбаетесь в ответ и проходите дальше; улыбка вашего знакомого перерастает в ехидную усмешку, в его глазах загорается алчный огонек и он жмет кнопку «оплатить» под вашей фотографией на терминале.
Bootstrap.
Sleek, intuitive, and powerful front-end framework for faster and easier microwave development.
Вот-вот. А в терминалах ставят специальные SIM-карты, для которых доступ в интернет ограничивается серверами платежной системы.
Ни к чему. Речь идет о платежном терминале, а не банкомате. Платежные терминалы на Windows ломаются крайне легко из-за совершенно наплевательского отношения к их настройке. Как ни странно, на большинстве из них стоит полная Win XP, из которой даже не вырезана оболочка с рабочим столом. Также в BIOS практически всегда включают Wake on Power. Так что достаточно отключить терминал от сети (впрочем, это не так просто: их устанавливают в очень людных местах, да и вилку к розетке могут приклеить), дождаться, пока разрядится ИБП, включить назад и успеть запустить диспечер задач до запуска терминального ПО. Если %WINDIR%\system32\explorer.exe таки подменяют чем-то другим, то уж точно забывают отключить уведомления о подключениях к сети, через которые также можно добраться до файлового менеджера. Если интересно, могу написать статью с полным сценарием взлома.
Ни разу не видел TeamViewer на терминалах. Они практически все работают через GPRS/EDGE, а в ПО встраивают примитивные средства для мониторинга. Если что-то идет не так, выезжает техник.
И вся игровая логика в виде trigger-ов? Это крайне плохая идея.
А вот из-за отсутствия старых как раз может, о чем я изначально и писал :)
Когда писал «бинарная», я имел ввиду, что JVM не будет находить поля с нужными сигнатурами и будет падать с ошибками типа java.lang.IncompatibleClassChangeError. Ну а что касается байт-кода, в новой версии class file была введена, например, инструкция invokedynamic и там действительно никакой обратной совместимости нет.
SilkRoad во всех сделках выступает в роли гаранта, так что либо Эрик подтвердил получение товара, либо заключал сделку вне SR, что было бы опрометчиво с его стороны
С другой стороны, из-за острой необходимости в обратной бинарной совместимости для EE такая тенденция может привести к созданию кучи избыточных API с дублирующейся функциональностью…
Но зачем качать какой-то левый софт, если можно просто на странице с аудиозаписями прочитать window.cur.audiosList и скормить его wget?
Вот этот код } catch(e) {} finally { для Connection-а очень плох. Ошибки конфигурации базы мы будем глотать.

Это же все-таки тестовый пример. Он либо работает, либо не работает, да и auto-commit тут вполне уместен. Конечно, в реальном проекте лучше пользоваться каким-нибудь DbUtils. Думаю, в ближайшее время напишу менее надуманный пример, с в том числе нормальной обработкой ошибок, тогда и можно будет вынести окончательный приговор этой связке библиотек.
Вполне. Правда, лучше пользоваться sync, примеры есть тут.
Например, если модифицировать dbServlet.js так:
Скрытый текст
importPackage(java.sql);

function doGet(request, response) {
  try {
    var connection = DriverManager.getConnection('jdbc:mysql://localhost/?', 'root', '');
    try {    
      var resultSet = connection
        .createStatement()
        .executeQuery('show databases;');

      response.setContentType('text/html;charset=UTF-8');
      var writer = response.getWriter();
      writer.println('<h1>Databases</h1>');
      while (resultSet.next()) {
        writer.println(resultSet.getString('Database') + '<br />');
      }
    } catch(e) {} finally {
      resultSet.close();
    }
  } catch(e) {} finally {
    if(connection)
      connection.close();
  }  
};

if(this['exports'])
  exports.doGet = doGet;


И собрать так:
java -Djava.ext.dirs=./lib org.mozilla.javascript.tools.jsc.Main -extends javax.servlet.http.HttpServlet modules/dbServlet.js

То можно вызывать его так:
contextHandler.addServlet(
  new ServletHolder(new Packages.dbServlet()),
 '/db'
);


Естественно, добавив опцию -cp .:./modules
Хотел ускользнуть от этого неприятного момента :) Моя задача — предложить интересный концепт.
Можно бить на модули и по мере надобности компилировать части
И да, ResultSet и конекшны нужно закрывать

Согласен, досадная ошибка, исправил.
Собственно говоря, ничто не мешает реализовать примеры из статьи на JRuby или Jython

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity