Задать вопрос
  • USB Flash: почему в NTFS на порядок медленнее, чем в FAT32?

    @ifap Автор вопроса
    Было 32Кб для FAT32 и 4Кб для NTFS, увеличил до 32Кб для NTFS - скорость "взлетела" аж до 14МБ/с, при увеличении до 64Кб - упала до 13Мб/с. Уже лучше, но все еще не 42Мб/с, которые на FAT32, и тем более не 86Мб/с, которые показывает старая флешка в том же NTFS и с теми же 4Кб кластерами. Правда, она не 64Гб, а 32Гб, но вряд ли дело в этом.
    Про допустимые типы FS производитель молчит...
  • Как спарсить текст, идущий после определенного HTML-кода?

    @ifap Автор вопроса
    Я пытался прикрутить к Вашему коду string-join, но не смог в синтаксис, видимо. Я вот также не понимаю, почему не работает:
    //td[descendant-or-self::*/starts-with(text(),'TEXT')][1]/following-sibling::*[1]/descendant-or-self::*/text()

    Разрешите я взгляну на Вас глазами кота из "Шрека" и попрошу правильно прикрутить string-join и starts-with? :) Я честно пытался сам, но смог только в OR, а дальше синтаксис меня победил :(
  • Как спарсить текст, идущий после определенного HTML-кода?

    @ifap Автор вопроса
    Спасибо, уже первый вариант подошел. А подскажите еще, как свалить отпарсенный текст "в кучу"?

    Т.е. если мы имеем:
    <div>Title</div>
    <div>Text1<b>Text2</b></div>

    или в тексте знак переноса строки, то результат парсинга - 2 (или более) блока текста: "Text1" и "Text2", а как их слить в один "Text1Text2"?
  • Как спарсить текст, идущий после определенного HTML-кода?

    @ifap Автор вопроса
    Спасибо, работает! Но мне явно следовало уточнить, что внутри первого и второго контейнера может быть не только текст ;) Например, так:
    <div><b>Title</b></div>
    <div>Text <span>text</span></div>

    И в этом случае запрос не работает :(

    Можно его переформулировать так, чтобы мы отталкивались от DIV, в котором содержится «Text» (и что-то еще, но другие DIV в него точно не вложены), и парсили текстовое содержимое следующего за ним DIV?
  • Content-Security-Policy: host-source VS 'self': в чем разница?

    @ifap Автор вопроса
    granty,
    Делайте как вам удобнее, только на публичных доменах типа github.com открывать *.github.com не комильфо

    То есть, необходимости нет, есть "вкусовщина" и отдельные случаи, когда имя хоста заранее неизвестно целиком и приходится использовать 'self' (попутно убивая смысл применения CSP)?

    Нельзя, для инлайн-стилей в теге требуется 'unsafe-inline'

    Значит я слишком буквалистски прочел мозилловское:
    Allows the use of inline resources, such as inline <script> elements, javascript: URLs, inline event handlers, and inline <style> elements.

    ;) Тогда вопрос снимается и логика понятна.
    А 'unsafe-unline' как раз и нехорошо разрешать, тк скрипт из неразрешённого хост-источника получает контроль над HTML.

    Ваши бы слова - да разрабам, например, движка phpBB в уши...
  • Content-Security-Policy: host-source VS 'self': в чем разница?

    @ifap Автор вопроса
    У сайта может быть множество поддоменов, в том числе и динамических.

    Можно задать something-src *.domain.com, что покроет все подмножество поддоменов известного нам домена. А запрет неизвестных - в этом же и суть CSP...

    Потому, что такой встроенный скрипт может появиться на странице без ведома вебмастера.

    Вы несколько выдрали из контекста, мой вопрос был скорее про почему, например, <img style="something"> - можно, согласно одному лишь default-src domain.com, а <style>something</style> в том же самом HTML-файле - нет, надо дописывать unsafe-inline? Уж если злоумышленник может модифицировать наш HTML-файл, то ему фиолетово, как именно XSSить.

    Я понимаю, как это работает, я не понимаю почему и где логика, не нарушающая саму идею CSP?