• Как передать секретную фразу из клиента js в сервер php?

    profesor08
    @profesor08 Куратор тега PHP
    Но непонятно, что делать на стороне сервера, как используя публичный ключ расшифровать

    Расшифровывай приватным. Публичный ключ нужен для шифрования, приватный для расшифровки. Приватный ключ никуда не передается, публичный передавай кому хочешь.

    Сервер генерирует пару ключей, приватный оставляет себе, публичный отдает клиенту. Клиент тоже генерирует пару ключей, приватный оставляет себе, публичный передает серверу. Далее, с помощью публичного ключа, полученного от сервера, клиент шифрует сообщение и отправляет на сервер, где сервер спокойно дешифровывает сообщение с помощью своего приватного ключа.

    Если для сайта настроен SSL (https), то все эти манипуляции не нужны.
    Ответ написан
    2 комментария
  • Почему PHP8 требует определять переменные?

    profesor08
    @profesor08 Куратор тега PHP
    error_reporting(0); в начале файла и наступит счастье. Работать будет все, любой код написанный кем угодно и как угодно. Эта серебряная пуля на все случаи жизни, решает любые проблемы.
    Ответ написан
    Комментировать
  • Как определить часовой пояс клиента?

    maxaon
    @maxaon
    На js - одна строчка
    var offset = new Date().getTimezoneOffset();
    И почему "На js определять - не самый хороший вариант" ?
    Ответ написан
    9 комментариев
  • Блокировка DigitalOcean?

    @ynblpb_spb
    дятел php
    Тоже попал под блокировку в DO

    Выход простой
    Топаете в любого отечественного хостера, покупаете самую дешевую VDS с хорошим каналом и настраиваете reverse proxy на nginx приблизительно с таким конфигом:

    server {
            listen                  80;
            server_name             domain.ru;
            
            location / {
                    proxy_pass http://111.111.111.111:80;
                    proxy_connect_timeout                           60;
                    proxy_send_timeout                                      60;
                    proxy_read_timeout                                      60;
                    proxy_redirect                                          off;
                    proxy_buffer_size                                       4k;
                    proxy_buffers                                           4 32k;
                    proxy_busy_buffers_size                         64k;
                    proxy_temp_file_write_size                      10m;
                    proxy_set_header        Host                    $host;
                    proxy_set_header        X-Real-IP               $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    }

    где 111.111.111.111 это IP адрес вашего дроплета в DO

    и для https сайтов

    server {
            listen                  443;
            ssl                     on;
            server_name             domain.ru;
            ssl_certificate      /etc/nginx/ssl/domain.ru.crt;
            ssl_certificate_key  /etc/nginx/ssl/domain.ru.key;
            ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers  "RC4:HIGH:!aNULL:!MD5:!kEDH";
    
            location / {
                    proxy_pass https://111.111.111:443;
                    proxy_connect_timeout                           60;
                    proxy_send_timeout                                      60;
                    proxy_read_timeout                                      60;
                    proxy_redirect                                          off;
                    proxy_buffer_size                                       4k;
                    proxy_buffers                                           4 32k;
                    proxy_busy_buffers_size                         64k;
                    proxy_temp_file_write_size                      10m;
                    proxy_set_header        Host                    $host;
                    proxy_set_header        X-Real-IP               $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    
    }


    такая вот у нас замечательная, страна, конечно...
    Ответ написан
    11 комментариев