Cerca avançada
Resultats de la cerca
S’han trobat 616 coincidències
La llibreria 2FA
Instal·lació Per no haver de programar nosaltres l'algorisme matemàtic (HMAC-SHA1 i gestió de finestres de temps), utilitzarem la llibreria estàndard de la indústria en PHP. Bash composer require spomky-labs/otphp Per què ...
Comparativa llibreries PHP 2FA.
antonioribeiro/google2fa Vs spomky-labs/otphp Tot i que antonioribeiro/google2fa és extremadament popular (especialment en l'ecosistema Laravel), spomky-labs/otphp és una opció tècnicament superior per diversos motius. Flexibilitat d'algorismes (seguretat a ...
Base de dades
Migració: Actualització taula Users Necessitem dos camps nous: secret_2fa: Per guardar la clau privada (el secret compartit). active_2fa: Un interruptor per saber si l'usuari té el 2FA obligatori o no. Fitxer: app/Database/Migrations/2026-0...
La lògica de negoci
Lògica 2FA Activació: L'usuari va a /userdemo/setup-2fa. El servidor genera un secret i l'envia a la vista com un string especial (otpauth://...). JS converteix l'string en una imatge QR. L'usuari l'escaneja i envia un codi de prova. ...
Les vistes
Vista A: Configuració (app/Views/userdemo/setup_2fa.php) Utilitzarem qrcode.js per dibuixar el QR sense complicacions de servidor. <!DOCTYPE html> <html> <head><title>Configurar 2FA</title></head> <body> <h2>Configurar Doble Factor</h2> <p>1. ...
Les rutes
Caldrà afegir les rutes necessàries a app/Config/Routes.php. // ... rutes anteriors ... // Rutes per al procés de Login amb 2FA (Públiques, però requereixen sessió temporal) $routes->get('userdemo/verify-2fa', 'UserDemo::verify2faPage'); $routes->post('u...
L'edició: de l'HTML a l'UX
En el desenvolupament d'aplicacions web, sovint ens trobem amb la necessitat de permetre als usuaris crear contingut ric: articles de blog, descripcions de productes, comentaris amb format o butlletins de notícies. Si bé com a programadors estem còmodes escriv...
Summernote
Aquest és un exemple complet d'implementació d'un sistema de "Posts" (articles) amb l'editor Summernote, posant èmfasi en la seguretat. Migració Necessitem una taula que pugui guardar text llarg. El tipus de dada TEXT o LONGTEXT és l'adequat per al conting...
CKEditor 5 (Classic Build) Self-Hosted
A diferència de Summernote (que guarda les imatges en Base64 dins el text), CKEditor 5 està dissenyat per pujar les imatges al servidor de manera asíncrona. Això és molt més professional i eficient per a la base de dades, però requereix una mica més de lògic...
Seguretat AJAX a upload files de CKEditor
Aquest és un punt crític. Un endpoint de pujada d'arxius (upload-image) és, per definició, una porta oberta al servidor. Si no es protegeix, qualsevol bot podria omplir el teu disc dur o, pitjor, pujar un fitxer .php maliciós i executar-lo. Per assegurar que "...
i Markdown?
Markdown és una alternativa excel·lent i molt popular entre desenvolupadors (és el que fan servir GitHub, StackOverflow o Reddit). En lloc de guardar el resultat final (HTML), guardem el "codi font" del format (Markdown). Markdown vs. WYSIWYG (HTML): Anàlisi ...
Llibreria Markdown
Què és league/commonmark? És un motor d'anàlisi (parser) de Markdown per a PHP altament extensible i que compleix estrictament l'estàndard CommonMark. L'estàndard CommonMark és important perquè elimina les ambigüitats del Markdown original. (Per exemple: com...
Upload arxius en Markdown
Implementar la pujada d'imatges en un editor Markdown (com EasyMDE) és conceptualment diferent d'un WYSIWYG. En un editor WYSIWYG (CKEditor), arrossegues la imatge i aquesta apareix visualment. En Markdown, com que és text pla, l'objectiu del procés és: ...
Integrar elFinder
Integrar un gestor d'arxius com elFinder és el pas definitiu per professionalitzar un lloc web. A diferència de la pujada simple (on puges una foto i t'oblides), un gestor et permet: Reutilitzar imatges ja pujades sense duplicar-les al servidor. ...
Treball amb arxius. elFinder
Mostrarem un controlador "pont" entre CodeIgniter 4 i la llibreria JavaScript elFinder. Té tres funcions principals: servir la interfície (UI), processar les operacions de fitxers (backend connector) i servir els fitxers físics (proxy) perquè estan en una car...
CSRF i CORS amb elFinder
El 90% dels problemes en integrar elFinder (o qualsevol gestor AJAX) amb frameworks moderns com CodeIgniter 4 venen d'aquí. 1. CSRF (Cross-Site Request Forgery) El Problema: CodeIgniter 4, per defecte, protegeix totes les peticions POST esperant un token de...
GetHash elFinder
Es tracta d'una comanda personalitzada de CodeIgniter 4 (Spark Command) dissenyada per ajudar-nos a treballar amb elFinder. 1. Quina és la funcionalitat? La funció principal d'aquesta comanda és traduir una ruta de disc (path) al "Hash ID" que utilitza elFin...
Cross-Origin Resource Sharing
Què és el CORS? Per defecte, els navegadors tenen una norma de seguretat anomenada Política del Mateix Origen (Same-Origin Policy). Això vol dir que si la teva web està a casa-teva.com, el navegador bloqueja qualsevol intent de demanar dades a casa-vei.c...