• Пропал цвет в Windows 10. Как вернуть?

    lidacriss
    @lidacriss
    wtf
    Window + Ctrl + C


    5a7d9747a94b6857382192.jpeg
    Ответ написан
    Комментировать
  • Проблема при переносе сайта на другой хост?

    OlegMifle
    @OlegMifle
    php-программист
    Создай резервную копию заново с выбранным чекбоксом проверки целостности. Убедись, что url, который ты передаёшь в restore.php реально существует и не отдаёт 404. Если всё-таки скрипт не может выкачать архивы по какой-то причине, то можешь их скачать себе, залить в корень сайта (там где restore.php), выбрать опцию, что архив загружен в корень сайта, указать архив и дальше следовать подсказкам.
    Ответ написан
    6 комментариев
  • Какие прорехи в безопасности могут быть в конфигурации nginx?

    1. Постоянный редирект с / на index.php

    location = / {
            rewrite ^ $scheme://$host/index.php permanent;
        }
    
        location / {
            deny all;
            return 404;
        }
        location ~* ^/index\.php$ {
            try_files $uri $uri/ =404;
            fastcgi_index index.php;
            fastcgi_pass php5-fpm-sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }



    Очень странная логика, особенно использование $host и некорректное использование try_files. Про try_files почитайте тут.

    $host
    в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса, или имя сервера, соответствующего запросу


    Если у вас не определен default_server и server_name site.ru; стоит первым в списке, то к вам будут прилетать все запросы с любым полем Host, в том числе пустым, что является очень опасной практикой.
    Лучше использовать переменную $server_name, но все равно, если вам нужно обращения по любым url обрабатывать только через index.php, то правильно это делается так:

    /NONEXISTENTFILE меняете на заранее фейковый файл который не может существовать, например /d7sdhsdhsdf8sfhgsfd8fh438dfjh

    ...
            error_page 404 = @cms;
    
            location / {
                try_files /NONEXISTENTFILE @cms;
            }
    
            location @cms {
                    fastcgi_pass      unix:/var/lib/php5-fpm/xxxxx.sock;
                    fastcgi_index    index.php;
                    fastcgi_param   SCRIPT_FILENAME $document_root/index.php;
                    fastcgi_param   SCRIPT_NAME /index.php;
                    include             /etc/nginx/fastcgi_params;
            }
    ...


    2. Запрещаем любую статику кроме gif|jpg|png|js|css|ttf|woff|ico
    location ~* \.(gif|jpg|png|js|css|ttf|woff|ico)$ {
            try_files $uri =404;
            expires 30d;
        }



    Логичнее и правильнее будет сделать так:

    try_files $uri =404; нам не понадобится, т.к. у нас есть error_page 404 = @cms; который в случае отсутствия картинки перенаправит запрос в @cms

    ...
            error_page 404 = @cms;
    
            location ~* ^.+\.(gif|jpg|png|js|css|ttf|woff|ico)$ {
                    expires 30d;
                    access_log off;
                    log_not_found off;
            }
    
            location / {
                try_files /NONEXISTENTFILE @cms;
            }
    ...


    По поводу json.php и в принципе ограничения доступа, правильнее делать это через map или geo, например так:

    http {
    ....
            geo $my_client_ip $denied {
                    default 1;
                    127.0.0.1 0;
                    XX.XX.XX.XX 0; # <- IP1 с которого можно заходить
                    YY.YY.YY.YY 0;    # <- IP2 с которого можно заходить
            }
    
    server {
            listen       443 ssl;
            server_name  site.ru;
            root         /var/www/html/;
    ...
            set $my_client_ip $remote_addr;
            if ($http_x_forwarded_client_ip ~ "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}") {
                    set $my_client_ip $http_x_forwarded_client_ip;
            }
    
            error_page 403 = @deny;
    
            location @deny {
                    root /var/www/deny;
                    rewrite ^(.*)$ /index.html break;
            }
    
            location ~* ^/json\.php$ {
                    if ($denied) {
                            return 403;
                    }
                    try_files /NONEXISTENTFILE @json;
            }
    
            location @json {
                    try_files       $uri = 404;
                    fastcgi_pass    unix:/var/lib/php5-fpm/xxxxx.sock;
                    fastcgi_index   index.php;
                    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include         /etc/nginx/fastcgi_params;
            }
    
    }
    }


    4. Разрешаем доступ к /admin только с 1-го IP, для /admin/phpmyadmin


    Не делайте так! Организуйте для phpMyAdmin отдельный поддомен с отдельным виртуальным сервером и отдельной обработкой php5-fpm через отдельный сокет.
    Никогда не храните "левые" (вспомогательные) утилиты в общем каталоге web-приложения, это плохая практика. К примеру: Если в phpMyAdmin будет найдена критическая уязвимость, то даже в случае ограничения доступа к нему с определенного IP существует вероятность, что она может быть проэксплуатирована и тогда через неё поломают ваше web-приложение - оно вам нужно?

    По поводу location ~* /admin/ аналогично как для json.php.

    Ну и все рекомендации выше от Кирилл Несмеянов относительно hsts, ssl, ciphers, dh, ocsp stapling поддерживаю.
    Ответ написан
    4 комментария
  • Как вшить ключ в Windows 7?

    @electronik777
    если меняли метеринку, возможно она не поддерживает SLIC (Software Licensing Description Table)
    либо не правильный образ
    Ответ написан
    7 комментариев
  • Будет ли корректно работать опреративная память в связке 1866+1600 МГц?

    maxt888
    @maxt888
    Fullstack developer
    Будет, но на наименьшей частоте. В вашем случае 1600Мгц
    Ответ написан
    1 комментарий
  • Есть апп, задающий ребёнку развивающие задачки, а в случае успешного решения задачки ставящий мультик с ютуба?

    Adamos
    @Adamos
    Ваш "компромисс" не решает проблему, а обостряет ее. Решая задачки ради мультиков, ребенок их возненавидит (задачи, а не мультики). Вы ее просто превращаете в крысу, которой нужно давить на рычажок, чтобы стимулировать центр удовольствия в мозгу.

    Оттаскивайте ребенка от телевизора и планшета не запретами и ограничениями, а предлагая другие интересные занятия. В том числе развивающие. И занимайтесь с ним сами так много, как можете. Иначе дальше будет только хуже.

    Моей сейчас семь, мультики любит, но без фанатизма. Мы успешно прошли все подшивки "Школы семи гномов", рекомендую. Из развивающих игрушек использовали разве что GComprix, и то очень умеренно. Зато настольных игр у нее полный шкаф. Для вашего возраста уже кое-что можно брать - "Доббль", например.

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

    Нельзя приставить к ребенку автомат и рассчитывать, что он будет развиваться. Ничего так не выйдет. Воспитание такого ребенка, каким хочешь его видеть - это труд, ежедневный и упорный. Если же вам всего лишь хочется, чтобы ребенок не мешал - ну, это-то устроить несложно. Сложности будут потом.
    Ответ написан
    6 комментариев
  • На что, и стоит ли менять Macbook pro Late 2013?

    BVadim
    @BVadim
    В данном случае альтернативой видится только 15" 2015 i7/16Gb/512Gb с дискретной графикой (будет заметный прирост, т.к. процессор полноценный в отличие от 13" i7, где процессоры U). Цена 180К. Ваш где-то за 70-90 уйдёт, если без внешних дефектов. Т.е. в районе 100к ещё нужно добавить. Прирост будет но конечно используя его с внешними клавиатурой, мышью, монитором - теряете 50% того, за что платите такие не малые деньги.

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

    Но есть ещё три варианта, если мобильность так не важна, как пишите:

    1. Достать БУ Mac mini MD388 (в Москве они есть) с полноценным i7 (рыночная цена примерно 50), доставить в него 16Gb RAM (+ 7-8к, есть ещё вариант рискнуть с двумя плашками по 16Gb, такие на рынке есть одна модель Cruical, но не понятно, заведутся ли они) и SSD по вкусу ( + 8-12к). Прирост будет заметный, хоть процессор и третьего поколения, но он быстрее многих современных, т.к. в них упор делался на энергопотребление можно посмотреть тут поиском по "Mac mini (Late 2012)". По цене получится - продал ноут, купил Mac mini. Без переплат. При этом, если уже есть моральная готовность потратить ещё 100-120к можно в довесок для мобильности взять Air 13" или Macbook 2016 без тачбара и убить двух зайцев.

    2. Достать предыдущий огромный Mac Pro 2012. Он будет стоить в районе 100к, там можно разгуляться с объемом RAM и накопителями. Машина очень мощная на сегодняшний день в том числе. По той же ссылке в таблице можно видеть, что он идёт сразу за актуальным ведрообразным Mac Pro. Кстати, его можно найти БУ в идеальном состоянии за 140-160к и вариант тоже очень хороший, но дороже.

    3. Если есть время, силы и упорство можно собрать полноценный хакинтош на современном железе. На youtube полно инструкций "от и до" по подбору совместимого железа и установке. Там можно собрать конфигурацию на любой вкус из уже подобранных комплектующих. Цена на топовые решения с 64Gb RAM, i7 Skylake, 1070 видео, скоростными M.2 SSD будет в районе 150-180к, но уровень железа совсем другой. Однако будут костыли, придётся поковыряться с настройкой, может с первого раза что-то не получиться.
    Ответ написан
    Комментировать
  • На ноуте нет Ethernet-порта, что делать?

    15432
    @15432
    Системный программист ^_^
    "ультрабук" же. Еще и трансформер, с сенсорным экраном.
    LAN порт слишком толстый, потому производитель его и не поставил. Покупайте USB-Ethernet переходник, чего уж поделать.
    Ответ написан
    3 комментария
  • Приложение для iOS из PhoneGap без публикации в AppStore, сертификата Apple Developer и jailbreak'а - возможно ли?

    miraage
    @miraage
    Старый прогер
    Crashlytics.
    Ответ написан
    Комментировать
  • Генерация letsencrypt без остановки NGINX?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    Можно, разрешаю.

    Для всех доменов использую вот такой локейшен инклюдящийся в конфиг каждого

    location /.well-known/acme-challenge {
                 alias /srv/www/.well-known/acme-challenge;
    }


    И
    letsencrypt-auto certonly -a webroot --webroot-path /srv/www/ -d domain.ltd --server https://acme-v01.api.letsencrypt.org/directory

    для первичной генерации, а потом renew спокойно когда нужно обновить(ну или в крон renew повесить).
    Ответ написан
  • Как сделать доступ по IP к phpmyadmin в nginx?

    partizanes
    @partizanes
    Системный Администратор
    location /phpmyadmin {
        allow	        	айпи;
        deny	        	all;
    }
    Ответ написан
  • Rewrite в nginx?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    В лоб :)
    location /data/test/ {
        index test.json;
    }
    Ответ написан
    6 комментариев
  • Какую CMS выбрать начинающей веб-студии?

    @DP-Studio
    20 лет веб-разработки
    Наверно меня сейчас закидают камнями... Веб-студия, использующая Джумлу, Вордпресс и прочие ЦМС "быстрого развертывания" - это сборище жуликов или школьников. Приличная вебстудия работает либо на хорошем фрэймворке общего назначения (Лярва, Юи, Зенд и т.д.) либо делает свой фрэймворк (Чаще всего на базе тех же лярв юи и т.д.). Ибо когда всё систематизировано и все процессы и правила расписаны, конечный продукт выходит и быстрее и качественнеe чем на цмс "создай сайт за 3 минуты". Частое исключение из этого правило - интернет магазины, и то до поры до времени, пока готовятся свои решения. Если вы этого не прочувствуете, станете очередной говноконторой, делающей говносайты для говноклиентов за говнокопейки. Это что касается бэка. Для фронта также выбирается ограниченный набор инструментов, работа с которым так же систематизируется. Для начинающей конторы, у которой еще нет своих зубров фронт-энда можно посоветовать React. Быстро, просто, аккуратно.
    Ответ написан
    9 комментариев
  • Как исправить ошибку при обновления NGINX?

    cp -ax /etc/nginx /etc/nginx-back
    apt-get remove --purge nginx nginx-*
    apt-get install nginx=1.8.0-1~jessie
    mv /etc/nginx-back /etc/nginx
    Ответ написан
    Комментировать
  • Есть ли альтернатива Windows Termilal?

    @1Hidden1
    powershell?
    Ответ написан
    Комментировать
  • Как направить домен на хостинг, если домен уже делегирован на сервера Яндекса?

    bubbleboom
    @bubbleboom
    Просто поменяйте/добавьте А–запись на сервисе "Яндекс-почта для домена".
    Больше ничего не трогайте. Иначе лишитесь почты.
    Яшин сервис, это не только почта. Это 100% публичный DNS-хостинг. Со всеми вытекающими. Поэтому ознакомьтесь, как работает служба DNS, прежде чем основательно начать делать там правки :)
    8KW_sPkc1Vpr7YjLN6WzurX9aWA.jpg
    А - запись это IP вашего хостинга
    @ - как алиас для www еще продублируй.
    Тип - как было сказано - А
    Значение записи - IP хостинга
    Ответ написан
    Комментировать