[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Męcząca administracja blogiem na Wordpress
20-04-2016, 21:51
Post: #21
Męcząca administracja blogiem na Wordpress
cPanel to nie phpmyadmin - to osobny program.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
21-04-2016, 08:10
Post: #22
Męcząca administracja blogiem na Wordpress
Ale ten cPanel ma okrojone funkcje chyba.
Nie mogę tego zrobić z poziomu cPanel.
Więc poprosiłem support, przywrócili mi, czyli tamtą bazę w zasadzie pustą od początku usunąć?
Odpowiedz cytując ten post
21-04-2016, 23:36
Post: #23
Męcząca administracja blogiem na Wordpress
Jak się nie boisz, że znowu coś popsujesz, to możesz.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
22-04-2016, 07:34
Post: #24
Męcząca administracja blogiem na Wordpress
Wyrzcuiłem tą która była pusta.
"if it is a new installation of wordprerss then only the default data will be in your database.
when you add a post to wordpress it will then populate the database."
Czyli co zostawić tak jak teraz jest, ona sama się w przyszłości zrobi nowa, nic nie tworzyć?
Odpowiedz cytując ten post
22-04-2016, 10:04
Post: #25
Męcząca administracja blogiem na Wordpress
Znowu nie mówisz, co zrobiłeś, a co chcesz uzyskać.
1. Jeżeli masz działającego bloga i do niego odzyskałeś bazę, to co ty chcesz nowego tworzyć?
2. Samo się nic nie tworzy, to ty decydujesz przy instalacji Wordpressa co i jak się tworzy w bazie danych.

I odróżnij:
DBMS - System bazodanowy, aplikacja - tutaj MySQL - często w skrócie i błędnie nazywana bazą danych.
baza danych - database - konkretna baza danych, czyli zestaw tzw. tabel, w których zapisujesz dane
Dane dostępowe - user/pass, które zapewniają dostęp do jednej konkretnej bazy danych, albo kilku baz danych w DBMS.

W hostingu często user/pass daje dostęp do tylko jednej bazy danych bez prawa tworzenia nowych, a w niej możesz tylko dodawać tabele - dlatego wordpress i inni stosuję sztuczkę z przedrostkiem: udają, że to odrebna baza danych dopisując przed nazwą tabeli np. "wordpress_" - i taki phpmyadmin to wie i potrafi wydzielić w interfejsie taką wirtualną bazę danych.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
24-06-2021, 14:04
Post: #26
Męcząca administracja blogiem na Wordpress
masz tu przykładowy konfig Nginxa pod Wordpressa.
wp-admin na osobnym vhoście chronionym certyfikatem PKCS#12, xmlrpc zablokowane.
Kod:
server {
        server_name blog.example.tld;
        root /home/www/Anew/Wordpress5;
        listen 0.0.0.0:80;
        listen [::]:80;
        
         return 301  https://$http_host$request_uri;
         log_not_found off;
         access_log off;
}        
        
server {
        server_name blog.example.tld;
        root /home/www/Anew/Wordpress5;
         listen 0.0.0.0:443 ssl http2;
         listen [::]:443 ssl http2;
        index index.php;
        
    #     # ssl on;
      
        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload;";
        add_header X-Frame-Options "DENY";
        add_header Content-Security-Policy "upgrade-insecure-requests; default-src https: data: 'unsafe-inline' 'unsafe-eval'";
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;  
        add_header X-XSS-Protection "1; mode=block";        
        
        if ($request_uri ~ "^/\?wc-api" ) { return 418;}
        
         location ~ /(xmlrpc.php|wp-json) {
            return 403;}

      
        location / {
          #  include /etc/nginx/naxsi/nbs.rules;
            try_files $uri $uri/ /index.php?$args;
         }

        location  ~/wp-admin/  {
           return 301  https://wpadmin.example.tld$request_uri;
           log_not_found off; access_log off;}
          
         location  ~/wp-login.php  {
           return 301   https://wpadmin.example.tld$request_uri;
           log_not_found off; access_log off;}        

        location ~ /comments-post.php {
            include /etc/nginx/blacklist/sblamdrop.conf;
             error_page 403 = http://papa.example.tld/;
             }
            
        access_log /var/log/nginx/wordpress_access_log combined buffer=32k;
        error_log /var/log/nginx/wordpress.ssl_error.log info;
        
        location ~ /wp-config.php {return 418; log_not_found off; access_log off;}
        location ~ ^/wp-includes/[^/]+\.php$ { return 418; log_not_found off; access_log off; }
        location ~ ^/wp-includes/js/tinymce/langs/.+\.php { return 418; }
        location ~ ^/wp-includes/theme-compat/ { return 418; }
        

        # antyhotlink + cache
         location ~ \.(jpg|jpeg|png|gif|ico|css|js)$ {
             valid_referers none block server_names ~(.example.tld|google.);
                 if ($invalid_referer) {
         rewrite ^(.*)$ http://www.posters.ws/images/846697/i_love_porn.jpg;
           }
            expires 30d;
           }
      
        location ~ "/wp-content/.+\.(php|phps|txt|md|exe|bat|bin|msi)" { return 418;}
        location ~ “/wp-content/.(xml|css|jpeg|ico|png|gif|js|pdf)$” { allow all; log_not_found off;}


          
        location = /(favicon.ico|robots.txt|sitemap.xml) { log_not_found off; access_log off; }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
        
        location ~ [^/]\.php(/|$) {    
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }
          
            fastcgi_param   PATH_INFO         $fastcgi_path_info;
            fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_param  PHP_ADMIN_VALUE    open_basedir=$document_root:/tmp/php;
            include /etc/nginx/fastcgi.conf;  ##Includes our fastcgi setup
            fastcgi_pass unix://var/run/php/php-wordpress.sock;  
            fastcgi_index index.php;
            }    
          
        
}


server {
        server_name wpadmin.example.tld;
        root /home/www/Anew/Wordpress5;
         listen 0.0.0.0:443 ssl http2;
         listen [::]:443 ssl http2;
        index index.php;
        
#        # ssl on;
        ssl_verify_client optional;
        ssl_verify_depth 5;
           if ( $ssl_client_verify != SUCCESS )
           {return 301 https://blog.example.tld/index.php?status=403;}
    

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
        
        location ~ [^/]\.php(/|$) {    
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }
          
            fastcgi_param   PATH_INFO         $fastcgi_path_info;
            fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_param  PHP_ADMIN_VALUE    open_basedir=$document_root:/tmp/php;
            include /etc/nginx/fastcgi.conf;  ##Includes our fastcgi setup
            fastcgi_pass unix://var/run/php/php-wordpress.sock;  
            fastcgi_index index.php;
            }    
        
}

server {
        server_name admin.example.tld;
        root /home/www/Anew/Wordpress5;
        listen 0.0.0.0:80;
        listen [::]:80;
        
      
         return 301  https://$http_host$request_uri;
         log_not_found off;
         access_log off;
}
Zawiera też przekierowania 301 na SSL.
Wisi na wszystkich adresach Ipv4 i Ipv6.

A tu prosty mechanizm blokujący ataki SQL_injection na poziomie konfiga wordpressa:
Kod:
if ( defined( 'WP_CLI' ) && WP_CLI ) {
        define('DB_NAME', 'wordpress45');
        define('DB_USER', 'wordpress4admin');
        define('DB_PASSWORD', 'hasełko_dla_wp-cli');
        define('DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock');
        define('FS_METHOD', 'direct');
        define('DB_CHARSET', 'utf8');
        define('DB_COLLATE', '');
    }
        

elseif (strstr($_SERVER["SSL_CLIENT_VERIFY"], 'SUCCES')) {
    if(strstr($_SERVER["SSL_CLIENT_COMMONNAME"], 'Pacjent')) {

        define('DB_NAME', 'wordpress45');
        define('DB_USER', 'wordpress4admin');
        define('DB_PASSWORD', 'hasełko_dla_administratora');
        define('DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock');
        define('FS_METHOD', 'direct');
        define('DB_CHARSET', 'utf8');
        define('DB_COLLATE', '');
    }
}


else
{    
         define('DB_NAME', 'wordpress45');
        define('DB_USER', 'wordpress4');
        define('DB_PASSWORD', 'hasełko_dla_pospulstwa');
        define('DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock');
        define('FS_METHOD', 'direct');
        define('DB_CHARSET', 'utf8');
        define('DB_COLLATE', '');
}

W ten sposób możesz dla bloga obciąć wszyskie uporawnienia na poziomie bazy
danych, zostawiając praktycznie tylko SELECT a INSERT i UPDATE tylko dla tabeli wp-comments.

Pozdro
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz