Автор: Тупой прогер

Nginx: закрыть сайт паролем

No Picture

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

Вообщем Апачи не юзаем все знают, что тупой прогер юзает только джинсы.
Так вот следовательно у нас не стоит htpasswd которая идет в пакете с httpd.
Но у нас по любому стоит openssl не так ли?
Вообще действия такие, создаем файл паролей. Кинте его куда хотите. Допустим пускай валяется в /etc/nginx

echo -n 'admin:' >> /etc/nginx/.htpasswd
openssl passwd -apr1 >> /etc/nginx/.htpasswd

Далее сделаем хитро зачем нам по всем конфигам таскать с собой барахло.
Создадим файл /etc/nginx/passwd.conf:

auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;

И его уже подключаем в конфигах:

location / { 
try_files $uri @main; 
include	/etc/nginx/passwd.conf;
}

Ну че выкусили дада юзайте.

service nginx reload - Для стариков
systemctl restart nginx.service - для новичков

Кто понял тот понял кто не понял тому не дано понять )

Bitrix: Заполнение товаров минимальной и максимальной ценой.

No Picture

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

Идете в админку и ищите там командную строку php,  в нее втыкаете такой код. Усе написано, проверено чики бамбонито.
Читать далее »

Wget Как скопировать все изображения с html + data-src

No Picture

Бывает надо слить какой то сайт, но wget сливает не все изображения. data-src например не возьмет.
Типо lazy load модная хрень.
Тогда нам надо получить список изображений, подогнать его и слить.

Первое получим список изображений из файлов *.html:

sed -n 's/.*data-src="\([^"]*\).*/\1/p' *.html

Второе если у нас все ссылки с доменом то все оке. Иначе модифицируем:

sed 's/^/https:\/\/сайт.ru\//'

Третье  и все вместе загружаем с сохранением директорий:

sed -n 's/.*data-src="\([^"]*\).*/\1/p' *.html | sed 's/^/https:\/\/сайт.ru\//' | xargs -P 5 wget -x {}
-x - сохраенения пути
-p - количество потоков

 

Получить название песни из потока

No Picture

Хотите знать как получить название песни в теории не будем вдаваться.
Просто приложим код.

<?php

/**
 * Please be aware. This gist requires at least PHP 5.4 to run correctly.
 * Otherwise consider downgrading the $opts array code to the classic "array" syntax.
 */
function getMp3StreamTitle($streamingUrl, $interval, $offset = 0, $headers = true)
{
    $needle = 'StreamTitle=';
    $ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36';

    $opts = [
            'http' => [
            'method' => 'GET',
            'header' => 'Icy-MetaData: 1',
            'user_agent' => $ua
        ]
    ];

    if (($headers = get_headers($streamingUrl))) {
        foreach ($headers as $h) {
            if (strpos(strtolower($h), 'icy-metaint') !== false && ($interval = explode(':', $h)[1])) {
                break;
            }
        }
    }

    $context = stream_context_create($opts);

    if ($stream = fopen($streamingUrl, 'r', false, $context)) {
        $buffer = stream_get_contents($stream, $interval, $offset);
        fclose($stream);

        if (strpos($buffer, $needle) !== false) {
            $title = explode($needle, $buffer)[1];
            return substr($title, 1, strpos($title, ';') - 2);
        } else {
            return getMp3StreamTitle($streamingUrl, $interval, $offset + $interval, false);
        }
    } else {
        throw new Exception("Unable to open stream [{$streamingUrl}]");
    }
}

var_dump(getMp3StreamTitle('http://str30.creacast.com/r101_thema6', 19200));

 

Обрезать текст Javascript «Показать еще»:

No Picture

Как обрезать текст есть куча способов.
Логика обрезания такова, что нужно определить размер блока, задать ему нужный размер какой мы хотим.
А в последствии вернуть на свои места. Если конечно денег платят можно и самому все сделать и воткнуть.
Но как помните у нас три копейки, по этому не стоит тратить свои нервы на это.
Читать далее »

WP + Woocommerce и шаблон без поддержки

No Picture

Взял тут подработку за три копейки, думаю ша быстро раскидаем текст перенести под товары.
Думаю херня вопрос, полез смотреть, а там оказывается то и шаблон не имеет поддержки, крутил и так и сяк думал как быстро выйти из ситуации ровно на сумму три копейки. Кароч жпа как обычно. Не ну есть вариант ровно на 3 копейки конечно прям в плагине поправить, и хер бы с ним ровно до обновления.
Наверно скоро так и буду делать. вообщем делаем следующие
Читать далее »

Кодировка UTF-8 консоли centos7

No Picture

Бывает сидим мы в putty, а в mc всякие кроки лезут, крестики нолики и тп…
В общем не та кодировка, а нам надо просто лишь воткнуть нужную кодировку вот так то:

#посмотрим, что у нас включено
localectl status
#посмотрим, что мы имеем
locale -a | grep en
#воткнем кодировку, перезапустите сессию
localectl set-locale LANG=en_US.UTF-8

 

Как пропинговать страницы из sitemap.xml

No Picture

Че типо как, а теперь введем получение ништяков за символическую сумму, а вы как думали?
За символические суммы, будут только решения которые используются в моей гавноработе.
Все чики бамбони.

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

Postfix + relay yandex.ru google.com

No Picture

Наверно знаете или сталкивались, что последнее время эра своего почтового серва вышло? Все дела делаешь и dkim spf dmarc. А эффекта нуль. Вообщем тут лотерея. По этому масса идет релеить.

Ну, а че дело тоже не плохое, не надо делать себе мозг, релей сделает за тебя. Но если почувствует спам! То будете гулять дальше со своей почтой.

И так что нам надо, проверьте,  что у вас не крутиться всякое фуфло типо эксима и отрубите его.
Сходите к яндексу и прикрутите свой домен, и попросите выписать ему вам адрес емайла

Поставьте постфикс

yum install -y postfix

Пол дела сделано.
Читать далее »

Убрать из названия файла расширение

No Picture

Есть несколько способов данного действия:

$tpf = basename('/dir/index.php', '.php');
---
$tpf = pathinfo('/dir/index.php');
echo $path_parts['filename'];
---
$tpf = preg_replace('/\\.[^.\\s]{3,4}$/', '', 'index.php');

Использовать по ситуации.