Задать вопрос
  • Как настроить базу?

    Vamp
    @Vamp
    Армянское Радио, и не должно следовать. Вы не знаете, является ли ТС разработчиком или имеет влияние на разработчиков чтобы протолкнуть решение по доработке ПО. Вы не знаете какие ещё варианты были рассмотрены. Вы не знаете в каком окружении работает ПО. Не нужно проявлять чудеса ясновидения и экстрасенсорики.

    Есть конкретный вопрос по конкретной ситуации. Не нужно пытаться отвечать на вопрос, который ТС не задавал.

    Что будет с постгресом, когда облачный диск отвалится?

    ТС получит бесценный опыт.
  • Как настроить базу?

    Vamp
    @Vamp
    Так что пока вы не объясните постановку задачи X, с вами просто опасно иметь дело

    Армянское Радио, как по мне задача предельно ясна. Есть дорогой ssd диск маленького объема. На нем хочется размещать только актуальные горячие данные. Далее, по мере их устаревания, перемещать эти данные на дешёвые и ёмкие hdd.
  • Какой сервис выбрать для СМС уведомлений без Юр. лица?

    Vamp
    @Vamp
    Такой способ использования симки противоречит правилам оператора. Оператор палит такие симки и блокирует.
  • Какой сервис выбрать для СМС уведомлений без Юр. лица?

    Vamp
    @Vamp
    С таким сервисом нужно быть готовым менять симки каждую неделю. А то и чаще.
  • Как отправить данные на сервер с Ajax на чистом JavaScript?

    Vamp
    @Vamp
    Че сразу накинулись то, понятное дело, что разницы нет, но лучше на всякий случай сделать так, хз)
    Кому нужно сделает так, кому не нужно - по-другому.

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

    а в чем, собственно говоря, вредность данного подхода? Ладно полезность, но вредность то... В том, что запрос будет чуть дольше или что?)

    Об этом я подробно написал в комментариях к ответу, на который ссылался в своём первом комментарии. С вашим подходом пароли на сервере хранятся фактически в открытом виде. Да-да, несмотря на то что это хеш, в реальности это - открытый пароль, похожий на хеш. Если злоумышленник сливает базу с хешами через инъекцию, то ему не нужно брутфорсить их. Зачем, если сервер и так авторизует злоумышленника сразу по слитым хешам? А ведь хеширование должно наоборот предотвращать описанную ситуацию.
  • Как отправить данные на сервер с Ajax на чистом JavaScript?

    Vamp
    @Vamp
    Rsa97, удивительно, откуда берётся это заблуждение про хеширование на клиенте? Позавчера только объяснял одному упёртому товарищу про бесполезность (и даже вредность) такого подхода.

    Иван Кулаков, отредактируйте свой ответ и удалите п. 1. Не вводите других посетителей сайта в заблуждение.
  • Tshark не распознаёт русские буквы, что делать?

    Vamp
    @Vamp
    hint000, это не подразумевает компрометацию сервера с потрохами. Редко когда удаётся скомпрометировать сервер целиком, но через SQL-инъекцию слить базу - сплошь и рядом. Не зря инъекции стоят на первом месте в рейтинге уязвимостей по версии OWASP. Даже если пароли хешированы, иметь доступ к учёткам пользователей пострадавшего сервиса - уже немало. Особенно если сервис - платёжная система или электронная почта. От такого кейса спасёт только 2FA. Ну или отказ от дайджест-аутентификации )).

    Насчёт "сMITMить аутентификацию" я бы не беспокоился так сильно. В современном мире каналы связи настолько хорошо защищены, что круче защита наверное только у военных. Взять хотя бы TLS - конфигурируется буквально в пару действий, а отсутствие https считается моветоном. Но что более важно, необходимость защищать канал связи вбивается смолоду каждому разработчику и даже самый нерадивый из них врядли сможет упустить этот момент.

    Отсутствие паролей в базе - это про другое, про одинаковые пароли пользователя на разных серверах.

    Согласен. Таким образом вполне можно защитить пароль глупого пользователя, использующего один на все сервисы. Но с таким же успехом это можно сделать и без хеширования на стороне клиента.
  • Tshark не распознаёт русские буквы, что делать?

    Vamp
    @Vamp
    hint000,
    Сбрутить хеш-сумму (логина, пароля, адреса сервера и случайных данных)? Это тоже слишком сильное утверждение.

    Сбрутить md5, обратите внимание. Я писал только про этот алгоритм.

    Не должны. Можете представить себе хеш от хеша? Я легко могу.

    Глобально смысл от этого не меняется. Если злоумышленник увёл базу хешей с сервера, то в операции Клиент серверу: хеш(соль1+хеш(пароль+соль)); он может пропустить вычисление хеш(пароль+соль) и подставить уже известное ему значение. Поэтому я и написал "должны храниться фактически в открытом виде" и "при таком раскладе даже брутфорс не нужен."
  • Tshark не распознаёт русские буквы, что делать?

    Vamp
    @Vamp
    hint000, наверное это было слишком сильное утверждение, поэтому оно ввело вас в заблуждение.

    Я не имею ввиду, что в принципе не существует алгоритмов с хешированием пароля на стороне клиента.

    Я говорю, что на практике никто этим не занимается, так как на стороне сервера пароли должны храниться фактически в открытом виде чтобы такой способ аутентификации нормально работал.

    Если говорить конкретно про RFC 2069, на который вы ссылаетесь, то применение данного стандарта ограничено из-за md5 в качестве единственного возможного криптоалгоритма. Соответственно,
    любой mitm способен сбрутить пароль на современном железе. Но это маловероятно на мой взгляд. Компрометация сервера гораздо более реальный вариант, а при таком раскладе даже брутфорс не нужен.
  • Как средствами PHP нарисовать дугу для SVG файла?

    Vamp
    @Vamp
    Zorgios, согласно спецификации path:
    All coordinates and lengths specified within path data must be treated as being in user units in the current user coordinate system.

    Туториал мозиллы описывает данный момент менее формально:
    Coordinates in the d parameter are always unitless and hence in the user coordinate system.


    Чтобы переопределить дефолтную "user coordinate system", нужно в элементе <svg> прописать атрибут viewBox:
    $image = new SVG('10mm','10mm');
    $image->getDocument()->setAttribute('viewBox', '0 0 10 10');

    В данном примере ширина и высота viewBox устанавливается в 10 user unit'ов. Так как width и height элемента <svg> - 10mm, то один user unit получается соответствует 1mm. Из-за этого все размеры в path можно тоже условно считать миллиметрами.

    Другой пример:
    $image = new SVG('10mm','10mm');
    $image->getDocument()->setAttribute('viewBox', '0 0 100 100');

    В этом примере каждый user unit соответствует 0.1мм.

    Рекомендую вам рисовать все элементы в этих условных абстрактных user unit'ах. Так проще понимать и согласовывать относительные размеры и положение элементов. А миллиметры оставить только в <svg>.
  • Возможно ли выбрать российский сервер в CloudFlare?

    Vamp
    @Vamp
    argen312, да. Но с anycast определить местоположние сервера сложнее, так как оно зависит от местоположения посетителя. Если яндекс "посещает" сайт из москвы, значит anycast зарулит трафик в московский ДЦ CloudFlare. Это можно отследить по traceroute.

    Насколько мне известно, намного большим весом является указание географии в контенте сайта. Например, сайт с title "ремонт велосипедов в кемерово" будет ранжироваться выше для посетителей из кемерово даже если сам сайт хостится где-нибудь в сингапуре. Также немалую роль для поисковиков играет скорость загрузки сайта. Anycast и кеширующие функции CloudFlare определённо помогают уменьшить задержки при передаче данных, но многое зависит и от скорости работы скриптов на самом сайте.
  • Как заменить mysql на mysqli в проекте?

    Vamp
    @Vamp
    Евгений Иванов, вы считаете нерабочий из-за устаревшего модуля проект будет хорошо смотреться в портфолио?
  • Как узнать размер объектов в конкретной JVM?

    Vamp
    @Vamp
    Можете уточнить конкретный пункт спецификации?
  • Как проверить какая ошибка в $_FILES?

    Vamp
    @Vamp
    Ведь для проверки именно это и нужно, не так ли?

    Верно.

    Но с ajax можно и http заголовок сделать вместо query string:
    xmlhttp.setRequestHeader('X-Form-Sent', '1');
    Для проверки годятся оба варианта.
  • Как проверить какая ошибка в $_FILES?

    Vamp
    @Vamp
    Анатолий, у вас не "отправка GET и POST одновременно". Это всё-таки POST, но с добавлением query string, который php парсит и заносит в $_GET независимо от метода.