Categorías
Wordpress

¿Cómo proteger wordpress con .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

#STRICT TRANSPORT Y PERMISION POLICY
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS
Header always set Content-Security-Policy "upgrade-insecure-requests"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Expect-CT "max-age=7776000, enforce"
Header always set Referrer-Policy: "no-referrer-when-downgrade"
Header always set Permissions-Policy "geolocation=(); midi=();notifications=();push=();sync-xhr=();accelerometer=(); gyroscope=(); magnetometer=(); payment=(); camera=(); microphone=();usb=(); xr=();speaker=(self);vibrate=();fullscreen=(self);"
Header always append X-Frame-Options SAMEORIGIN
</IfModule>

#BLOQUEO ACCESO AL wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# SECURE LOOSE FILES
# http://m0n.co/04
<IfModule mod_alias.c>
RedirectMatch 403 (?i)(^#.*#|~)$
RedirectMatch 403 (?i)/readme\.(html|txt)
RedirectMatch 403 (?i)\.(ds_store|well-known)
RedirectMatch 403 (?i)/wp-config-sample\.php
RedirectMatch 403 (?i)\.(7z|bak|bz2|com|conf|dist|fla|git|inc|ini|log|old|psd|rar|tar|tgz|save|sh|sql|svn|swo|swp)$
</IfModule>

# BLOQUEO SPAM NO REFERIDO
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^http(s)?://([^.]+\.)?{HTTP_HOST}\.com [NC]
RewriteCond %{REQUEST_URI} /wp-comments-post\.php [NC]
RewriteRule .* - [F,L]
</IfModule>

#BLOQUEAR CRAWLERS INDESEADOS
RewriteCond %{HTTP_USER_AGENT} (VelenPublicWebCrawler|Baiduspider|magpie-crawler|CCBot|okhttp|GPTBot) [NC]
RewriteRule .* - [R=403,L]


<IfModule mod_expires.c>
ExpiresActive on

# Por defecto 1 mes de caché
ExpiresDefault "access plus 1 month"
# El HTML nunca debe de ser cacheado, así como los datos dinámicos
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/vnd.geo+json "access plus 0 seconds"

# HTML components (HTCs)
ExpiresByType text/x-component "access plus 1 year"

# Favicon
ExpiresByType image/x-icon "access plus 1 year"

# Imágenes, vídeo, audio: 1 año
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType video/ogg "access plus 1 year"
ExpiresByType audio/ogg "access plus 1 year"
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/webm "access plus 1 year"

# Fuentes web: 12 meses
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/font-woff2 "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType font/opentype "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
# CSS y JavaScript: 12 meses
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/plain "access plus 1 year"
</IfModule>

# BEGIN HttpHeadersCompression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json
AddOutputFilterByType DEFLATE application/manifest+json
AddOutputFilterByType DEFLATE application/rdf+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/schema+json
AddOutputFilterByType DEFLATE application/vnd.geo+json
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/eot
AddOutputFilterByType DEFLATE image/bmp
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE image/vnd.microsoft.icon
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE text/xml
</IfModule>
# END HttpHeadersCompression
Categorías
Wordpress

Como aumentar PHP Time Limit en WordPress

¿Que es PHP Time Limit?

Es la cantidad de tiempo que su script en PHP pasará con una sola operación antes de que se agote el tiempo de espera.

Cuando una operación alcanza el límite de tiempo establecido, devolverá un error fatal.

Fatal error: Maximum execution time of XX seconds exceeded

El valor predeterminado para el límite de tiempo de PHP en la mayoría de los hosts el límite de tiempo está establecido en 30 segundos.

Métodos para aumentar el PHP Time Limit

Comunicarse con el proveedor del hosting

El aumento del límite de tiempo de PHP es complejo y el proceso difiere de un host a otro.

Por lo tanto, siempre es mejor que lo haga alguien que lo conozca bien. Tan solo póngase en contacto con su empresa de alojamiento y ellos estarán encantados de hacerlo por usted.

Aumentar el límite mediante el archivo PHP.ini

Puede aumentar directamente el límite de tiempo de PHP a través de este archivo.

Si desea aumentar el límite a 300, debe añadir la siguiente línea de código o modificarla si ya existe, el valor esta especificado en segundos.

max_execution_time = 300;

Aumentar el límite mediante el archivo wp-config.php

Es una alternativa al método de modificar el archivo PHP.ini, bien por que no tenga acceso o no tenga claro cómo hacerlo.

Solo tiene que añadir la siguiente línea al archivo wp-config.php de su wordpress, mediante FTP o en su defecto con algún plugin de gestión de archivos de wordpress.

set_time_limit(300);

Modificando el archivo .htaccess

Añadiendo la siguiente línea al archivo .htacess

max_execution 300

Aumentar en PHP Limit en PLESK

Una vez dentro de nuestro panel del hosting, buscamos donde pone Configuracion del PHP

A continuación buscamos, max_execution_time y ponemos 300 y luego pulsamos en ACEPTAR para guardar los cambios.

Categorías
Wordpress

Cómo actualizar un plugin de WordPress existente con SVN

Esta guía le mostrará cómo actualizar su complemento de WordPress en el directorio de complementos utilizando TortoiseSVN.

IMPORTANTE: Actualizar el archivo readme.txt para incluir el registro de cambios, incluido el número de versión actualizado y los cambios en la revisión.

  1. Actualice los archivos de su complemento en la carpeta Trunk.
  2. Cuando se cambia un archivo existente, aparecerá un signo de exclamación rojo sobre el icono del archivo.
  3. Una vez que esté listo para confirmar los cambios, haga clic con el botón derecho en un área en blanco de la carpeta Trunk y seleccione SVN Commit
  4. En el campo superior, ingrese una descripción adecuada para describir la actualización, por ejemplo, la versión 1.2.4
  5. Los archivos nuevos y los archivos de cambios aparecerán en el campo inferior, seleccione los archivos que desea actualizar y luego OK.
  6. Tendra que introducir su nombre de usuario y contraseña de WordPress, es el mismo nombre de usuario y contraseña con el que se dio de alta en el repositorio.
  7. Una vez realizada la actualización, haga clic en OK para guardar los cambios .
  8. Agregar revisión al directorio, desde la carpeta Trunk, haga clic derecho en una ubicación en blanco y elija TortoiseSVN -> Branch/tag
  9. En la carpeta ‘To path  , cambie la ubicación de trunk a tags /<número de versión>
  10. En el log mensaje introduzca comentario de revisión, por ejemplo, versión 1.2.4 – lazy load script y pulse OK
  11. Ahora debera ir a la cartepa de Tags, boton derecho y Elegir SVN update, con estp descargara todas las revisiones a tu carpeta local.

NOTA: Si cambió los números de versión, el número de versión del complemento cambiará en el directorio de WordPress pasados unos 15 minutos.

Categorías
Wordpress

Listado de funciones de wordpress

Categorías

Categorías
PHP

Como eliminar la cabecera X-Powered-By

Hay que editar el fichero php.ini y cambiar a off el parámetro expose_php

expose_php = off

Categorías
PHP

¿Por qué programar en PHP?

Cuando se trata de encarar un proyecto en Internet, ya sea una aplicación compleja como un salón de chat, foro de discusión o carro de compras, las alternativas para desarrollarla son muchas y, cada implementador de tecnologías enumera una larga lista de «características únicas» que poseen sus productos.

El espectro de influencia de las aplicaciones web ya no se limita únicamente a la Internet.

El navegador web se ha transformado de hecho en la interfaz elegida para numerosas funciones comerciales.

En las empresas, se utilizan en una gran variedad de formas: como en las intranets, donde se provee el acceso a la información interna de la empresa, extranets, que se utilizan para interactuar con los clientes y, por supuesto, internet, a través de programas interactivos, como catálogos o sistemas e-commerce.

Este texto recomienda la utilización de la tecnología PHP, un lenguaje de programación Open Source utilizado para construir páginas web dinámicas.

Una página dinámica es la que interactúa con el visitante de forma tal que el mismo recibe información personalizada.


Este tipo de desarrollos son los que prevalecen en los sitios e-commerce, los cuales generan su contenido accediendo a bases de datos u otro recurso externo.

Los programas PHP (scripts) están embebidos en las páginas HTML de manera similar a la tecnología ASP (Active Server Pages de Microsoft Corporation) y JSP (Java Server Pages de Sun Microsystems).

Como estos últimos, PHP corre en el servidor web, contrariamente al JavaScript que lo hace en el navegador (browser) del cliente.

¿Porqué utilizar PHP?

Ante todo, casi sin publicidad, PHP existe en más de siete millones de dominios y está instalado en el 36% de los servidores Apache del mundo.

Desde la óptica de un programador estas son algunas de las razones por las cuales es tan popular:

  • Es fácil de usar y aprender (tiene una semblanza a los lenguajes C, C++ y Java)
  • Fue diseñado desde un comienzo exclusivamente para la web
  • Es ideal para crear páginas web interactivas
  • Es muy veloz
  • Guarda compatibilidad con otras tecnologías web claves como Java, COM, XML y Macromedia Flash
  • Soporta una innumerable cantidad de bases de datos (por ejemplo Oracle, MySql, Interbase, etc)
  • Es Cross platform. Esto significa que corre sobre Windows, UNIX, etc.
  • Es Cross web server. Se ejecuta sobre Apache, IIS, Zeus, etc.

El código fuente o binarios pre-compilados pueden bajarse de php.net y, como todo Open Source, es gratuito.

NOTA: Para utilizarlo comercialmente es muy recomendable leer la licencia.