• Как удалить Adobe Flash Player встроенный в Windows 8.1?

    ElleSolomina
    @ElleSolomina
    Ёжик в тумане. Ёлочка. Соломинка. Няшка.
    Тоже интересует этот вопрос, но уже применительно к 10.

    Как удалить по нормальному, т. е. чтобы оно не поставилось снова и более не обновилось без стрёмных костылей пока не нашлось. Но нашёлся способ как отключить, по крайней мере в IE, как в остальных местах - тоже не ясно.

    gpedit.msc

    Конфигурация компьютера
    Административные шаблоны
    Internet explorer
    Средства Безопасности
    Отключить Adobe Flash в браузере Internet Explorer и запретить приложениям использовать технологию Internet Explorer для создания экземпляров объектов Flash

    Дополнение: Написала батник для пусть и костыльного но надёжного удаления Flash Player.
    Суть такова: сперва удаляем все установленные версии, которые есть в списке установленных программ, а потом, с учётом того 32 или 64 битная система зачищаем под корень папки с исполняемыми файлами Flash Player.
    @echo off
    
    echo FlashPlayer secure cleanup begin...
    
    echo uninstall all previos version begin...
    
    wmic product where "name like 'Adobe Flash Player%%'" call uninstall /nointeractive
    
    echo uninstall all previos version end.
    
    echo extendent secure cleanup begin...
    
    if %PROCESSOR_ARCHITECTURE% == AMD64 (
    
    	set TARGET_PLATFORM=AMD64
    
    	rem take ownership
    	takeown /f "%SYSTEMROOT%\SysWOW64\Macromed\Flash\*.*"
    	
    	rem extend access
    	cacls "%SYSTEMROOT%\SysWOW64\Macromed\Flash\*.*" /E /T /G %UserDomain%\%UserName%:F
    
    	rem delete
    	del /q /f "%SYSTEMROOT%\SysWOW64\Macromed\Flash\*.*"
    	rd /s /q "%SYSTEMROOT%\SysWOW64\Macromed\Flash"
    	rd /s /q "%SYSTEMROOT%\SysWOW64\Macromed"
    	del /q /f "%SYSTEMROOT%\SysWOW64\FlashPlayerApp.exe"
    	del /q /f "%SYSTEMROOT%\SysWOW64\FlashPlayerCPLApp.cpl"
    
    ) else (
    	set TARGET_PLATFORM=Win32
    )
    
    rem take ownership
    takeown /f "%SYSTEMROOT%\System32\Macromed\Flash\*.*"
    
    rem extend access
    cacls "%SYSTEMROOT%\System32\Macromed\Flash\*.*" /E /T /G %UserDomain%\%UserName%:F
    
    rem delete
    del /q /f "%SYSTEMROOT%\System32\Macromed\Flash\*.*"
    rd /s /q "%SYSTEMROOT%\System32\Macromed\Flash"
    rd /s /q "%SYSTEMROOT%\System32\Macromed"
    del /q /f "%SYSTEMROOT%\System32\FlashPlayerApp.exe"
    del /q /f "%SYSTEMROOT%\System32\FlashPlayerCPLApp.cpl"
    
    echo extendent secure cleanup end.
    
    echo FlashPlayer secure cleanup end.


    P. S. В 8 и старше этот костыль придётся запускать после каждого обновления системы в котором будет Flash Player ибо система его будет ставить заново.

    P. P. S. Flash наконец то всё, ура!
    Ответ написан
    Комментировать
  • Как в Git вынести часть проекта в отдельное отвествелние?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    1. В git есть система подпроектов, но как-то она не работает интуитивно понятным способом и не автоматически. Про подпроекты надо не забывать. Они сами не коммитятся.
    2. Можно использовать сборку (например, grunt). Мне этот вариант кажется более предпочтительным, хоть это и не git. Вы в одном проекте git сможете иметь несколько подпроектов, хранить все в одном репозитории, и для выпуска собирать тот, который вам нужен.
    3. Выделит ваше ядро как проект для bower, положить его на ресурс (gitlab/github). Обновление версий ядра в проектах вести соответственно через bower. Тогда проекты для сайтов можно держать в двух раздельных репозиториях 1 и 2. (итого у вас будет три репозитория. 3-й - для ядра). И даже смена ядра не будет сильно отражаться на проектах независимо от изменений в ядре, как это было бы в первых двух вариантах, где бы вам приходилось согласовывать все подпроекты при изменении версии ядра и это было бы самой неприятной работой, что-то менять, когда 1-й проект уже сдан (т.е. если вы поменяли версию ядра, то и обновлять надо сразу все проекты, а с bower такого не будет). - Мне кажется этот вариант вообще идеальный! - я за этот вариант. Связь между репозиториями такая:
    f70140d23e0b4c68bd24b01110873543.png
    Ответ написан
    6 комментариев
  • Почему некоторые люди просят JS без JQuery???

    По двух причинам:
    1) Это дополнительная библиотека, дополнительные запросы при загрузке страницы
    2) Нативный js все-таки как ни крути немного быстрее выполняется

    PS на текущий момент jquery подключен на подавляющем большинстве сайтов, на нем базируется огромное множество плагинов и как-то глупо требовать его не использовать, либо самостоятельно им пренебрегать, все это приводит к изобретению очередного велосипеда.
    Ответ написан
    Комментировать
  • Когда и как необходимо проверять данные на php?

    - Данные проверяем на существования вначале.
    - Затем проверяем данные которые имеют "белые списки" на соответствие им.
    - Затем числовые данные проверяем на соответствие типов.
    - Затем проверяем размерность числовых данных.
    - Затем проверяем текстовые данные на размерность (если необходимо).
    - Затем проверяем текстовые данные на наличие в них опасных слов (script|location|cookie|SELECT|UNION|UPDATE|exec|INSERT|tmp и т.д.).
    - Затем проверяем данные на количество знаков "%". Если знаков % больше 10, то возможно это инъекция через метасимволы.
    - Затем очищаем данные от крайних пробелов.
    - Затем проверяем данные на пустоту (''). Если необходимо присваиваем значение по умолчанию.
    - Затем проверки согласно алгоритмам.
    - Затем вставка в БД с экранированием или "подготовленными предложениями" (PDO).

    Теоретически такую защиту можно обойти, но надо быть гением с даром предвидения.
    Ответ написан
    2 комментария
  • Для чего нужны function, в PHP ?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Функции нужны для того, чтоб в коде не возникали ошибки и хаос. Если весь код состоит всего из нескольких переменных и операций, это понять сложно. Но как только их становятся десятки, сотни и тысячи, без разделения кода на изолированные логические кусочки (функции) уже не обойтись.

    Функции позволяют писать программы, постепенно углубляясь в отдельные аспекты и не теряя при этом "общую картину". Например, в программе нужно получить данные с сервера, распарсить их, что-то посчитать и вывести результаты. Вместо того, чтоб писать простыню, в которой тут же запутаешься, можно разбить код на функции getData() - parseData() - performCalculation() - displayResult(), и постепенно писать их логику, концентрируясь на решении конкретной задачи отдельной функции. Разделение сложной задачи на более простые - это, вообще, основной принцип борьбы со сложностью. Если это делать разумно (т.е. разделять на осмысленные кусочки), то функции, написанные один раз, можно использовать в разных местах программы (повторное использование кода).

    Наконец, они нужны для сокращения возможных ошибок, т.к. позволяют изолировать переменные, объявляемые внутри функций от случайного их изменения в других частях кода (принцип инкапсуляции в ООП). В случае т.н. глобальных переменных (объявленных в областях видимости, доступных в разных, иногда вообще не связанных друг с дугом логически местах) очень велик шанс объявить переменную для чего-то одного, а потом забыть об этом, и в другом месте использовать ее для чего-то другого.

    И еще они позволяют вносить изменения в логику программы, не перекраивая ее для этого целиком (полиморфизм). Если в примере выше вдруг понадобится изменить алгоритм рассчета, достаточно изменить performCalculation() (или даже написать другую функцию performNewSpecialCalculation() и просто изменить вызов).

    На уровне "внутреннего устройства языка" функции также позволяют эффективно управлять памятью, и обеспечивать взаимодействие программ, написанных разными людьми (например, библиотек), но это уже - совсем другая история.
    Ответ написан
    1 комментарий
  • На смерть TrueCrypt: чем теперь шифровать разделы?

    afiskon
    @afiskon
    А зачем вам собственно переходить на что-то с TrueCrypt? Он что, работать стал плохо? К тому же, там вроде уже какие-то работы над форком (TryeCryptNext, кажется) начались.
    Ответ написан
    Комментировать
  • Как реагируют на заголовок сайта поисковые системы?

    HDApache
    @HDApache
    PHP программист
    Мне кажется логичнее разделять не двоеточием а дефисом. Да и порядок от частного к общему предпочтительнее. Потому как именно title будет виден в результате поиска. И посетителя больше интересует название статьи чем скажем имя сайта, а вся сконкатенированная строка может не вместится. Следовательно при вашем порядке будет утеряна самая важная часть заголовка.
    ARTICLE - CATEGORY - DOMAIN
    Ответ написан
    2 комментария
  • Как сделать сравнение текстов на PHP или JS?

    @yetanotherape
    Свежий порт google-diff-match-patch на PHP.
    Ответ написан
    Комментировать