Restringir por IP (muy fácil y eficaz)
Si el cliente accede desde IPs concretas:
Blog personal de Julian Alzate: Desarrollador, apasionado por el Marketing, creador del blog con información de interés en Manizales y en Colombia.
Si el cliente accede desde IPs concretas:
location / {
allow 123.123.123.123; # IP del cliente
allow 111.111.111.111; # otra IP
deny all;
}
.wpress por FTPConéctate a tu hosting por FTP (ejemplo con FileZilla).
Ve a la carpeta donde está tu WordPress (normalmente /public_html/ o /www/).
Entra en:
/wp-content/ai1wm-backups/
👉 Si la carpeta no existe, créala manualmente con ese nombre exacto:
ai1wm-backups
Sube tu archivo .wpress completo dentro de esa carpeta.
Ve a tu WordPress admin → All-in-One WP Migration → Copias de seguridad.
Verás tu archivo .wpress en la lista automáticamente.
Haz clic en Restaurar.
El plugin reemplazará todo tu WordPress (archivos, base de datos, plugins, temas).
⚠️ Nota: la versión gratuita de All-in-One WP Migration a veces bloquea restauraciones grandes (>512 MB).
Si tu archivo pesa más, necesitas el Unlimited Extension o que tu hosting tenga esa versión habilitada.
¡Hola (Nombre) Me encanta la tecnología y el impacto de (nombre empresa). Me gustaría formar parte de su equipo. ¿Podemos hablar sobre oportunidades? 😊🚀
Prompt para evaluar el código con IA en Chatgpyt:
- Buenas prácticas de Moodle
- Seguridad
- Compatibilidad con auditoría (IA, estructura, claridad)
- Código robusto y mantenible
git pull
docker ps -a
docker stop vue-app Detiene proceso
docker rm vue-app Borrar
docker image
docker rmi <id imagen>
docker-compose build --no-cache Reconstruye desde cero SIN CACHÉ
docker-compose up -d lanzar contenedores
Para instalar una aplicación en Odoo en un servidor,
primero debes ubicar la carpeta de addons de Odoo
luego colocar el módulo (descomprimido) en esa carpeta.
Reinicia el servicio de Odoo sudo systemctl restart odoo
Activa el modo desarrollador, y finalmente, actualiza la lista de aplicaciones desde la interfaz de Odoo para que la nueva aplicación aparezca y puedas instalarla. (a veces no sale con el nombre exacto y hay que buscarlo en todas las app sin filtro)
Pasos detallados:
1. Localizar la carpeta de addons:
La ubicación de la carpeta de addons puede variar dependiendo de tu configuración, pero generalmente se encuentra dentro del directorio de instalación de Odoo.
2. Copiar el módulo:
Descarga el módulo que deseas instalar (generalmente en formato zip) y descomprímelo. Luego, copia la carpeta del módulo a la carpeta de addons de Odoo.
3. Reiniciar el servicio Odoo:
Detén y reinicia el servicio Odoo para que detecte el nuevo módulo. La forma de hacerlo dependerá de tu sistema operativo y configuración.
4. Activar el modo desarrollador:
En la interfaz de Odoo, ve a "Ajustes" (o "Configuración") y activa el "Modo Desarrollador".
5. Actualizar la lista de aplicaciones:
En la sección "Aplicaciones", haz clic en "Actualizar lista de aplicaciones".
6. Instalar el módulo:
Busca el módulo recién instalado en la lista de aplicaciones y haz clic en "Instalar". en _manifest__.py se encuentra el nombre de la app
login.liquid)Ve a tu panel Shopify:
Online Store → Themes → “Dawn” → Actions → Edit Code
Abre el archivo: sections/main-login.liquid o templates/customers/login.liquid
Agrega este código justo debajo del formulario o donde prefieras mostrar el botón:
<div id="g_id_onload"
data-client_id="TU_CLIENT_ID_DE_GOOGLE"
data-callback="handleCredentialResponse"
data-auto_prompt="false">
</div>
<div style="width: 100%; display: flex; justify-content: center; align-items: center; ">
<div class="g_id_signin"
data-type="standard"
data-size="large"
data-theme="outline"
data-text="sign_in_with"
data-shape="rectangular"
data-logo_alignment="left"
>
</div>
</div>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script>
function handleCredentialResponse(response) {
// Decodificamos el token JWT
const token = response.credential;
const payload = JSON.parse(atob(token.split('.')[1]));
const email = payload.email;
const name = payload.name;
// Guardar temporalmente en localStorage
localStorage.setItem("google_email", email);
localStorage.setItem("google_name", name);
// Redirigir al registro
window.location.href = "/account/register";
}
</script>
/account/register (opcional)Edita el archivo customers/register.liquid
Agrega este script al final del archivo:
<script>
document.addEventListener("DOMContentLoaded", function() {
const email = localStorage.getItem("google_email");
const name = localStorage.getItem("google_name");
if (email) {
const emailField = document.querySelector('input[name="customer[email]"]');
if (emailField) emailField.value = email;
}
if (name) {
const firstNameField = document.querySelector('input[name="customer[first_name]"]');
if (firstNameField) firstNameField.value = name.split(" ")[0];
const lastNameField = document.querySelector('input[name="customer[last_name]"]');
if (lastNameField) lastNameField.value = name.split(" ").slice(1).join(" ");
}
});
</script>
Esto rellena automáticamente el formulario de registro con el nombre y correo que el usuario usó en su cuenta de Google.
El usuario ve el botón “Sign in with Google”
Al hacer clic:
Se captura su nombre y correo electrónico
Se le redirige a /account/register
Se rellena el formulario automáticamente
El usuario solo necesita poner una contraseña y hacer clic en "Crear cuenta"