Seleccionar página

Error Advanced Rest Client (ARC) con LetsEncrypt SSL nginx 1.10

Problema que se da cuando se intenta acceder con Advanced Rest Client a servidores LetsEncrypt (sin cloudflare) y servidor nginx 1.10.x

Error 139681932284608:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:

Solución obtenida en el foro oficial: https://community.letsencrypt.org/t/cannot-use-advanced-rest-client-with-letsencrypt-websites-because-throws-sslv3-alert-handshake-failure/88104/24 

Para nginx 1.10.x  ssl_ecdh_curve debe ser eliminada (si usamos ARC) de la configuración de nginx

Para nginx 1.11  ssl_ecdh_curve debe configurarse a auto

En sitios que tienen nginx 1.10 pero funciona ARC es porque están usando Cloudflare SSL

Es aconsejado instalar TLS 1.3 para nginx 1.11

Stripe.com

Enlaces de interés

https://github.com/stripe/stripe-php/blob/master/examples/oauth.php

https://www.youtube.com/watch?v=EildM6OMcoQ

Ejemplo de cómo realizar un cargo:

https://stripe.com/docs/stripe-js/elements/quickstart (ejemplo con javascript)

https://github.com/bradtraversy/php_stripe_paypage/blob/master/index.php

https://github.com/bradtraversy/php_stripe_paypage/blob/master/charge.php

Ejemplos en Stripe.dev

https://stripe.dev/elements-examples/es/


Recortes de ejemplos de uso

\Stripe\Stripe::setApiKey(WEBSITE_CONFIG['stripe']['api-secret-key']);

//$stripeToken es creado desde el fichero JS; también se puede crear manualmente de esta forma:

https://stackoverflow.com/questions/50835945/laravel-cashier-where-does-stripetoken-come-from/50855564#50855564 

It turns out that the stripeToken is usually generated by stripe.js forms when they are submitted.

As I am using API driven checkout forms and not standard html submission forms I need to use the Stripe API to create the token from the card details provided.

$stripeToken = Token::create(array(
                       "card" => array(
                           "number"    => $request->get('number'),
                           "exp_month" => str_before($request->get('expiry'), '/'),
                           "exp_year"  => str_after($request->get('expiry'), '/'),
                           "cvc"       => $request->get('cvc'),
                           "name"      => $request->get('name')
                       )
                   ));

Then I use $stripeToken->id and pass it:

$user->newSubscription('main', 'premium')->create($stripeToken->id);

//Crear un cargo

$charge = \Stripe\Charge::create(['amount' => 2000, 'currency' => 'usd', 'source' => $stripeToken]);

Plugins Esenciales

Plugins Esenciales

Adaptación a la RGPD:

Adapta RGPD

AMP:

AMP for WP Accelerated Mobile Pages

Contact Form 7:

Estupendo gestor de formularios de contacto, con integración de Google Recaptcha y compatible con DIVI

Contact Form 7

Custom Admin Interface:

Personaliza los interfaces de administración y login, pudiendo establecer CSS personalizado, así como jQuery personalizado para realizar cualquier acción a llevar a cabo en todo el entorno de administración

WP Custom Admin Interface

Custom-CSS:

Otra alternativa para agregar css personalizados en front/backend.

Custom CSS, JS & PHP

Disable Comments:

Desactiva comentarios de forma global o por tipo de entrada

Disable Comments Eliminar comentarios y detener el spam [Compatibilidad con multisitio]

Duplicate Post:

Duplica páginas/posts en un nuevo borrador con un sólo click

Yoast Duplicate Post

Display posts:

Muestra listado de posts con el shortcode

Display Posts Easy lists, grids, navigation, and more

Easy table of contents:

Easy Table of Contents

Editor Full Width Gutenberg

Cambia el ancho por defecto del editor Gutenberg por el ancho completo

Editor Full Width Gutenberg

Featured image admin thumb:

Featured Image Admin Thumb

 

GA Google Analytics:

GA Google Analytics

 Google XML Sitemaps:

https://es.wordpress.org/plugins/google-sitemap-generator/

Gutenberg Blocks:

GuteBlock

Colección de bloques Gutenberg muy interesantes, entre los que puedes crear bloques de tarjetas, entre otros.

Introducing the Guteblock Plugin and Guteblog Theme

Guteblock Ultimate Gutenberg Blocks Plugin

Blocks-CSS:

Añade la opción de poder modificar mediante CSS cada bloque de gutenberg incrustado.

Blocks CSS: CSS Editor for Gutenberg Blocks

 

Hide This:

Ocultar Este

El plugin no es continuado, pero aún sigue siendo bueno, pues no he encontrado uno similar que tenga las mismas opciones de configuración dentro del propio shortcode. No obstante, hay que hacer una pequeña modificación en una línea de código para que funcione en nuevas versiones de wordpress:

Archivo wp-content/plugins/hide-this/hide-this.class, línea 400:
//JLM. 26/7/2020. En modo incógnito, fallaba pq no encontraba los índices en $userdata. Entonces se arregla preguntando si está vacío, retornar false.
if(empty($userdata)) return false;

Hide & Security Enhacer

Plugin con el que se ocultará todos los rastros de themes, plugins y rutas típicas de wordpress, siendo imposible detectar si una página web está desarrollada en wordpress. Para servidores Nginx, debe usarse la versión PRO

WP Hide & Security Enhancer

Hide My WP Ghost:

Otro plugin, con menos descargas que ‘Hide & Security Enhacer’, pero que en la versión gratuita sí permite ser usado con Nginx.

Hide My WP Ghost Security Plugin

Invisible Recaptcha:

Invisible reCaptcha for WordPress

Media File Renamer:

Plugin para renombrar los ficheros de imágenes en el listado de medios mediante la vista de detalle.

Media File Renamer Auto & Manual Rename

No category base:

No Category Base (WPML)

Paste to media:

Pega en la librería de medios las imágenes que tengamos en el portapapeles, ya sea local, o desde otra página web mediante la opción del menú click derecho «copiar imagen».

La librería de medios debe estar visible en modo mosaico (en vez de lista de detalle), y luego pulsar las teclas de pegado Ctrl+v.

Este plugin puede ir a juego con el plugin «Media File Renamer«, para hacer renombrados automáticos. Este plugin renombrará los ficheros en todos los posts en los que exista dicha imagen.

Paste To Media

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad