Задать вопрос
  • Как запретить VPN соединению пропихивать свой DNS?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Как запретить VPN соединению пропихивать свой DNS?
    VPN ничего не пропихивает, поэтом запрещать нечего.

    Система использует DNS сервер прописанынй в настройках сетевого подключения.
    Сам по себе он там не появляется, либо вы его прописали туда руками, либо его выдал DHCP сервер.

    Смотрите что прописываете, или смотрите что выдает DHCP сервер. Вот и все.

    И еще мне непонятно, почему, когда система делает запрос имени у DNS сервера и не получает его,
    Система использует исключительно DNS сервер указанный в настройках сетевого подключения, и никакой другой.
    Ответ написан
    4 комментария
  • Как валидировать телефон с регуляркой на JavaScript?

    @popuguytheparrot
    phoneMask(phone) {
        const regex = /(\d?)(\d{3})(\d{3})(\d{2})(\d{2})/g;
        const subst = "+$1 ($2) $3-$4-$5";
        return phone.replace(regex, subst);
      }
    Ответ написан
    Комментировать
  • Почтовые клиенты грузят тысячи старых писем после переключения домена с одного хостинга на другой и обратно - что делать?

    При переносе почты с одного почтового сервера на другой почтовый сервер надо было синхронизовать формат и значения UIDL. Почтовый клиент запоминает UIDL полученных писем, если UIDL поменялся - сего точки зрения это новое письмо.
    Ответ написан
    3 комментария
  • Зачем при вызове функции ставят две двойные скобки?

    GeneMoss
    @GeneMoss
    void
    Функция getFunc() возвращает другую функцию (та что в переменной func). Вот вторые скобки нужны затем, чтобы вызвать функцию, которую вернула getFunc().

    Можно сделать так:
    var func = getFunc();
    func(); // тут уже сработает alert(), который она вызывает
    Ответ написан
    1 комментарий
  • Как вы защищаете админки в своих проектах?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    А как её помимо логина и пароля надо защищать?

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

    А прикручивать всякие дополнительные уровни практически нет условий.
    По IP - динамика у всех фирм средней паршивости(мобильный интернет)
    Active Directory/LDAP - аналогично, там стоят пиратки всякие и вообще нет никакой структуры ITшной.
    Больше не знаю что еще можно прикрутить, если только еще один логин и пароль.

    Как защищается админка wordpress/octobercms/joomla и другие? Из коробки никак.
    А все что сверху запиливают сложные редиректы, нестандартные пути в админку и т.д. это вообще не защита
    Ответ написан
    2 комментария
  • Как можно конвертировать .htaccess для работы в Nginx?

    Lynn
    @Lynn
    nginx, js, css
    Я знаю самое лучшее средство — мозг.

    1. Прочитать и понять что делает .htaccess
    2. Написать нужные строчки в конфиге nginx.

    Читаем:
    RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$
    RewriteRule ^(.*) $1 [QSA,L]

    Понимаем, что статика должна просто отдаваться как есть без попытки обрабатывать её в PHP.
    Пришем
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }


    Читаем
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_URI} \.(ini|ph.*)$
    RewriteRule ^(.*) index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L,QSA]

    Тут два разных условия.
    Первое — если файла не существует, второе — если запросили файл закнчивающийся на .ini или .ph<что-то> (кстати, регулярка идиотская, т.к. под неё попадает слишком много, например my.physics.html).
    При выполнении любого из них запрос должен быть передан в index.php.

    Первое условие пишется стандартно
    location / {
      try_files $uri /index.php;
    }


    Второе
    # скорее всего нужно что-то типа \.(ini|php|phps|php4|php5)$
    # или хотя бы \.(ini|ph\w*)$
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }


    Итого:
    location / {
      try_files $uri /index.php;
    }
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }
    
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }
    Ответ написан
    3 комментария
  • Заказчик хочет отправить оплату из-за рубежа. Будут ли проблемы с налогами, валютным контролем и т.д.?

    opium
    @opium
    Просто люблю качественно работать
    единоразово нет
    но палево конечно есть всегда
    Ответ написан
    Комментировать
  • Готовое решение для почты?

    Stalker_RED
    @Stalker_RED
    Лет 10 назад использовал mdaemon и был в целом доволен.
    Сейчас не в теме, но вот список для затравки: alternativeto.net/software/mdaemon
    Ответ написан
    2 комментария
  • Фильтрация DNS трафика через Socks5?

    1. Если у вас стоит в SOCKS-клиенте опция разрешать имена через SOCKS, то никакой UDP-трафик не ходит, просто сокс-клиент вместо IPv4/IPv6 адреса передает серверу имя и сервер сам его разрешает. Разграничить доступ по именам при этом можно и не представляет проблем.
    2. Если эта опция в SOCKS-клиенте не стоит, то DNS-запросы вообще в прокси не попадают, скорее всего даже при использовании соксификатора.
    3. 3proxy умеет фильтровать любой трафик, в т.ч. UDP, но для того, чтобы дать доступ по именам хостов этого не требуется
    4. 3proxy поддерживает разрешение имен по TCP (DNS-серверы поддерживают не только UDP но и TCP). В т.ч. не сложно пустить DNS-запросы (именно полноценные DNS-запросы) через родительский прокси по TCP. Пускать их по UDP через родительский прокси большого смысла нет, т.к. управляющее подключение к прокси при этом все равно устанавливается по TCP.
    5. 3proxy имеет службу DNS proxy (dnspr), которая позволяет разрешать/блокировать DNS-запросы по доменам. Можно пустить DNS через эту службу и сделать так, чтобы до провайдера эти запросы никогда не доходили.

    Что из этого вам надо или не надо я не представляю, т.к. вместо того, чтобы описать задачу вы описали ваши представления, которые не корректны и ваш вопрос исходит из кучи неверных предпосылок и проблема из него не понятна.
    Ответ написан
    8 комментариев
  • Реализация TCP между клиентом JS и сервером PHP?

    @bagzon
    Backend PHP, NodeJs, JS
    websocket
    Ответ написан
    Комментировать
  • Длинющая подпись в электронном письме или нет?

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

    Но при отсутствии здравого смысла любая аргументация бесполезна. Напишите свои возражания по этому поводу, попросите приказа с подписью в явном виде, если руководство не согласно.
    Ответ написан
    Комментировать
  • Длинющая подпись в электронном письме или нет?

    p00h
    @p00h
    Фехтовальщик-стропальщик
    Маловато будет. Я бы разместил в подписи Устав и краткую биографию руководящего состава.
    Ответ написан
    Комментировать
  • Чем проверить существование почтового ящика?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Нет гарантированной проверки существования емайла массово.
    Если вы отправили письмо, и не получили в ответ ошибку - вы можете с высокой вероятностью предполагать, что почтовый ящик существует, на этом все.

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

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

    @iaskivsky
    Если это кнопка, то самый простой способ присваивать после нажатия атрибут disable ...
    Ответ написан
    2 комментария
  • Как НЕ дать пользователям скачать изображения сайта?

    longclaps
    @longclaps
    Не дадим.
    Вдруг ты скачаешь.
    Ответ написан
    Комментировать
  • Почему в дорогих коммерческих сайтах преобладает битрикс а не вородпрес?

    @immaculate
    Программист-путешественник
    Я в дорогих коммерческих сайтах не вижу ни того, ни другого.
    Ответ написан
    Комментировать
  • В чём разница между IPFW и PF firewall'ами во FreeBsd? Какой выбрать?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    ipfw стоит изначально, а большинство не любит лишних телодвижений. В ipfw есть netgraph. На ipfw рассчитаны все доки по FreeBSD. В ipfw есть dummynet.

    В общем разница примерно такая же как между tcsh и /bin/sh - оба шеллы, на обоих можно писать, но первый по умолчанию стоит только во FreeBSD и больше нигде, а второй есть всюду и знать его надо, потому что стартовые скрипты все равно на нем...
    Ответ написан
    9 комментариев
  • Можно ли зафиксировать то что человек зашел с телефона?

    @hopeful_romantic
    $useragent = $request->header('User-Agent');
      if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) {
                    $mobile = true;
                }
    Ответ написан
    Комментировать
  • Сайту для рынка Европы нужен европейский хост либо же наши пойдут?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    БОльшая часть всего хостится в Германии/Франции.
    Так что "у нас" это скорее всего где-то там.
    Если специально не искать местный хостинг. Т.к. цены в болшинстве своём конкурентные там.

    Так же большАя часть от бОльшой использует CloudFlare который проксирует через себя все запросы и имеет сервера во всех важных географических зонах, что делает сайт одинаково доступным для всего мира, при хостинге даже в самой жопе.
    Ответ написан
    Комментировать