Задать вопрос
  • Прием оплаты картами, но поступления на крипту?

    @rPman
    анонимный прием оплаты на сайте.
    ...
    покупатель оплачивает картой РФ/СБП
    ...
    сразу мне на криптовлюту.
    начиная с этого момента ты не сможешь дальше продвинуться, по факту это непреодолимая преграда, пока не будет обновлено законодательство (а оно не будет) или не изменится ситуация с изоляцией россии от глобальной финансовой системы (маловероятно в ближайшие годы)

    если убрать из списка требований Россия - то подобный функционал исторически предлагали крупнейшие криптовалютные биржи типа binance, гуглить cryptocurrency merchant.

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

    first-programmer
    @first-programmer Автор вопроса
    Backend software engineer
    В общем кому будет интересно, отвечу сам на вопрос - в помойке под названием америка нет нормальных криптобирж) Даже для самих американцев. Комиссии большие, за каждый чих, даже за перевод скрипты, чего нет ни на байбите, ни на бибнасе обычном, ни на мексе, а в американских биржах ты платишь за все, плюс еще они данные сливают о твоих доходах, чтобы ты платил. Даже после того, как я ржал над женой американкой, на счет их налоговой системы, у меня еще не было уверенности что все там так же отвратительно сделано, даже цены в магазине без учета ндс и отсутсвие цен в поликлиниках до лечения, меня не убеждали в их тупизне до конца, но щас, спустя 5 лет, я могу смело сказать - дно и помойка.

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

    Все что могу сказать - спасибо Матушке России за удобную финансовую, налоговую, медицинскую и другие системы)
    Ответ написан
    Комментировать
  • Лучше купить один асик с большим хешрейтом или несколько с небольшими хешрейтами?

    @Drno
    Не ответ, но...
    в данный момент лучше на эти деньги купить крипту и не трогать её лет 5.
    профита будет больше)
    Ответ написан
    Комментировать
  • Какое оптимальное значение у max_user_connections?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    max_user_connections - максимальное количество сессий для 1 пользователя. настраивается для каждого пользователя отдельно. Т.е. user1 -5 user2 -10 wordpress - 100.
    max_connections - максимальное количество сессий всего, на сервер.
    к примеру, имеем 2 пользователя, у каждого max_user_connections=100. Настройки мускуля дефолтные, max_connections = 151. 1 пользователь создал 100 соединений, остальные пока спят. Этот первый пользователь пытается поднять 101-е соединение, получает отлуп(Error: 1203 SQLSTATE: 42000 (ER_TOO_MANY_USER_CONNECTIONS)) - кончились персональные соединения. Просыпается второй, начинает поднимать свои соединения (первый, по-прежнему 100 штук "съел"). 49 - ОК, 50 - ОК, 51 - ОК, 52 - Error: 1040 SQLSTATE: 08004 (ER_CON_COUNT_ERROR), общее количество соединений кончилось.
    т.е. отвечая на Ваши вопросы:
    1. а фиг его знает, зависит от вашего приложение.
    2. да, ставить больше, чем max_connection бестолку, сработает общее ограничение.

    общий совет - дайте серверу поработать с недельку хотя-бы, затем выполните show status like '%onn%';
    посмотрите, что в поле Max_used_connections и есть ли ошибки Connections_error. Если первое значение далеко от max_connections(и нет/почти нет ошибок), этот параметр можно и уменьшить - освободите память.
    Ответ написан
    Комментировать
  • Как перенести большую базу на другой сервер без простоев?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Рабочий ли вариант если просто через rsync передать всю папку /var/lib/mysql?

    Просто перенос файлов рабочей БД окончится тем, что файлы есть, а базы нет, потому что неоткуда взяться метаданным в системной базе данных. Вернее, всё ещё забавнее - базы вроде бы и нет (USE приводит к ошибке "БД не существует"), но её нельзя создать, потому что она есть. И то же самое с таблицами (SELECT/DROP/прочее нельзя, потому что таблицы нет, CREATE нельзя, потому что она есть).

    Метод сработает, если переносить все БД сразу, включая служебные. Но требуется точное соответствие исходной и конечной конфигураций - начиная с версии и сборки MySQL и кончая именами каталогов и именами/паролями учётных записей в операционной системе. Плюс перегенерация и переподключение сертификатов.

    Еще вариант с репликацией, но насколько я понял всё равно базу нужно блокировать на момент дампа, а это тоже какое-то время

    Решений без блокирования практически не существует. Нет, можно наколхозить реальное решение, которое обойдётся вообще без остановки, я даже представляю как именно (FEDERATED ENGINE + triggers), но подробно рассказывать не буду - для её реализации нужны достаточная квалификация и опыт, на одних советах шанс на удачу невелик, скорее всё поломается.

    Есть вполне себе документированные способы: Copying MySQL Databases to Another Machine. Особенно последний из описанных. Он предполагает минимальное время простоя при использовании штатных средств.
    Ответ написан
    Комментировать
  • DDOS атака на сайт Wordpress. Как заблокировать WPscan?

    @Kypidon4ik
    Фрилансер, Wordpress developer
    Если не хочешь разбираться с fail2ban то можно поставить wordfence и (или) настроить Cloudflare.
    Ответ написан
    1 комментарий
  • Почему не работает Wordpress + Nginx?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    При этом не работают ссылки, по любому адресу открывается главная страница.

    Потому что не прописаны правила для ЧПУ

    try_files $uri $uri/ /index.php?$args;.

    После изменений перезапустить сервис и обновить пермалинки в ВП.
    Ответ написан
    1 комментарий
  • CPU загружается на 100% из за запросов mysql. Как отразить ddos?

    @veroni1337 Автор вопроса
    В итоге проблема решилась когда я удалил текущий докер контейнер и поставил вместо него другой контейнер mariadb, перенес туда базу данных и поменял доступы. После этого запросы сразу перестали поступать
    Ответ написан
    Комментировать
  • Как заблокировать доступ к ресурсу для конкретного региона?

    @Everything_is_bad
    Недавно проверял состояние сервера и заметил в логах много неудачных попыток входа на сервер (В основном через ssh)
    ну как первый раз в интернет вышел, уже сто лет такое, ssh вообще постоянно долбят, ставишь fail2ban, а еще лучше меняешь дефолтный порт и ставишь логин только по ключу. А регион блокировать, так себе идея.
    Ответ написан
    9 комментариев
  • Как включить относительную адресацию в nginx?

    dyuriev
    @dyuriev
    A posteriori
    serve_from_sub_path в true

    # this is required to proxy Grafana Live WebSocket connections.
    map $http_upgrade $connection_upgrade {
      default upgrade;
      '' close;
    }
    
    upstream grafana {
      server localhost:3000;
    }
    
    server {
      listen 80;
      root /usr/share/nginx/www;
      index index.html index.htm;
    
      location /grafana/ {
        proxy_set_header Host $http_host;
        proxy_pass http://grafana;
      }
    
      # Proxy Grafana Live WebSocket connections.
      location /grafana/api/live/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $http_host;
        proxy_pass http://grafana;
      }
    }


    Пруф (читать раздел полностью, а не до первого конфига nginx): https://grafana.com/tutorials/run-grafana-behind-a...
    Ответ написан
    Комментировать
  • Как редиректнуть HTTPS на другой айпишник?

    @Drno
    Тебе ненадо слать https.. ты можешь редиректить на http, а ssl (первичный) сделает nginx с твоим цертбот

    Либо тебе надо на удаленный сервер скопировать и подставить сертификаты тоже
    Ответ написан
    3 комментария
  • CPU загружается на 100% из за запросов mysql. Как отразить ddos?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) fail2ban
    2) Временно повесить заглушку "на сайте идут технические работы, все пучком"
    3) Ждите, через некоторое время ботнет целиком поместиться в банлист и нагрузка упадет

    Про адекватные решения по типу подключить Cloudflare вы скорее всего и сами знаете.
    Ответ написан
    2 комментария
  • CPU загружается на 100% из за запросов mysql. Как отразить ddos?

    @koder_1
    Битрикс программист
    /bitrix/redirect.php - Эти скрипты, rk.php, redirect.php ограничьте через nginx или htaccess чтоб были доступны только с локального сервера, а с внешних адресов не доступны.
    Ответ написан
    Комментировать
  • Как сверстать такую карточку?

    @Nurkanaat
    Ответ написан
    Комментировать
  • Есть счёт для оплаты. Как сделать по нему оплату картой через сайт на wordpress woocommerce (юkassa)?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    ничего не понял

    вот тут какой шаг вам не подходит?
    Ответ написан
    Комментировать
  • Как вернуть работоспособность сайта на Wordpress?

    PolarOneBear
    @PolarOneBear
    Вы можете поменять ссылки через phpMyAdmin введя запроc.
    Вот тема.
    Статья
    Сам запрос
    UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
    UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN');


    Обратите внимание на название таблиц (wp_posts , wp_postmeta), если они отличаются - назовите как у вас. Ну и конечно в таблице wp_options поменять если не меняли.
    UPDATE wp_options SET option_value = REPLACE(option_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN') WHERE option_name = 'home' OR option_name = 'siteurl';


    Еще проверьте в wp-congig.php в корне сайта. иногда там прописывают домены.
    И тут писали уже, потом лучше используйте плагин better-search-replace.
    Ответ написан
    Комментировать
  • Как интегрировать ChatGPT в WordPress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Да, на сайте есть документация по API https://platform.openai.com/docs/guides/gpt

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

    if ( ! function_exists( 'get_chatgpt_responce' ) ) {
    
    	/**
    	 * Returns query result or error
    	 *
    	 * @param string $question Text API question.
    	 * @param string $promt    Text API promt (for chat).
    	 * @param string $model    API model.
    	 * @param string $api_key  API key.
    	 *
    	 * @return void
    	 */
    	function get_chatgpt_responce( $question = null, $promt = null, $model = 'gpt-3.5-turbo', $api_key = 'sk-le000000000000000000000000000000000000' ) {
    
    		if ( is_null( $question ) ) {
    			return null;
    		}
    
    		$type = 'text';
    
    		if ( $model === 'davinci-codex' ) {
    			$type = 'codex';
    		}
    
    		if ( in_array( $model, array( 'gpt-4', 'gpt-4-0314', 'gpt-4-32k', 'gpt-4-32k-0314', 'gpt-3.5-turbo', 'gpt-3.5-turbo-0301' ), true ) ) {
    			$type = 'chat';
    		}
    
    		$headers = "Content-Type: application/json\r\n" . "Authorization: Bearer " . $api_key . "\r\n";
    
    		$params = array(
    			'model'       => $model,
    			'temperature' => 0.7,
    			'top_p'       => 1,
    		);
    
    		if ( $type === 'chat' ) {
    			$url         = 'https://api.openai.com/v1/chat/completions';
    			$params['n'] = 1;
    			if ( ! is_null( $promt ) ) {
    				$params['messages'][] = array(
    					'role'    => 'system',
    					'content' => $promt,
    				);
    			}
    			$params['messages'][] = array(
    				'role'    => 'user',
    				'content' => $question,
    			);
    		} elseif( $type === 'codex' ) {
    			$url                  = 'https://api.openai.com/v1/engines/davinci-codex/completions';
    			$params['prompt']     = $question;
    			$params['max_tokens'] = 4096 - iconv_strlen( $question );
    		} else {
    			$url                  = 'https://api.openai.com/v1/completions';
    			$params['prompt']     = $question;
    			$params['max_tokens'] = 4096 - iconv_strlen( $question );
    		}
    
    		$args = array(
    			'method'       => 'POST',
    			'timeout'      => 240,
    			'redirection'  => 5,
    			'httpversion'  => '1.0',
    			'blocking'     => true,
    			'headers'      => $headers,
    			'body'         => json_encode( $params ),
    			'sslverify'    => true,
    		);
    
    		$response = wp_remote_request( $url, $args );
    
    		if ( is_wp_error( $response ) ) {
    			$notification = $response->get_error_message();
    		} elseif ( in_array( wp_remote_retrieve_response_code( $response ), array( 400, 401, 403, 404 ), true ) ) {
    			$body         = json_decode( wp_remote_retrieve_body( $response ), true );
    			$notification = $body['error']['message'];
    		} elseif ( wp_remote_retrieve_response_code( $response ) === 200 ) {
    			$body         = json_decode( wp_remote_retrieve_body( $response ), true );
    			$notification = 'Расход GPT токенов: ' . $body['usage']['total_tokens'] . '. Причина остановки: ' . $body['choices'][0]['finish_reason'];
    
    			if ( $type === 'chat' ) {
    				return $body['choices'][0]['message']['content'];
    			} else {
    				return $body['choices'][0]['text'];
    			}
    		}
    
    		if ( function_exists( 'telegram_notification' ) ) {
    			telegram_notification( $notification );
    		}
    
    		return false;
    	}
    }
    
    $query   = 'Write a list frequently asked questions about the get_the_title() WordPress function.';
    $chatgpt = get_chatgpt_responce( $query );
    var_dump( $chatgpt );
    Ответ написан
    Комментировать
  • Как сделать безопасный перевод денег исполнителю на фриланс сервисе на wordpress?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Чтобы заказчик закидывал деньги на сайт, они сохранялись на сайте, и потом выводились в кошелек фрилансера,

    А потом новоявленная "биржа" резко канет в лету.. Кинув и заказчиков и исполнителей.

    Поэтому нормальные люди (особенно фрилансеры, тк больше "в теме") никогда не будут иметь дела с такими биржами.

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