ASIX2 - SM7. Fonaments de desenvolupament Web amb PHP. Curs 2025-2026
Quan tingueu les credencials d'accés a la NET heu de compartir una carpeta amb aquest nom: 2526-ASIX-SM7-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2526-ASIX-SM7-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:
Carpetes compartides del SM7 de 2n d'ASIX. Curs 2025-2026
Contingut
Enllaços ràpids
Recull de pràctiques de 2n d'ASIX. Curs 2025-2026
recull.binefa.cat (sm7 / asix2526)
20251209
- El control d'escapament amb la funció htmlspecialchars:
El control d'escapament amb la funció htmlspecialchars a PHP és fonamental per la seguretat de les aplicacions web, principalment per prevenir atacs de tipus Cross-Site Scripting (XSS).
Aquesta funció agafa certs caràcters especials que tenen un significat a HTML i els converteix en les seves entitats HTML corresponents, evitant que el navegador els interpreti com a codi.
🛡️ Prevenció d'Atacs XSS La raó principal de la seva importància és que htmlspecialchars neutralitza la capacitat d'un atacant d'injectar codi maliciós (com ara JavaScript) a la teva pàgina web a través de dades d'usuari (formularis, paràmetres URL, etc.).
- Com funciona? Quan un usuari maliciós introdueix codi com: <script>alert('XSS Attack!');</script>
Si es mostra directament a la pàgina amb echo $input;, el navegador l'interpretarà com a codi JavaScript i l'executarà.
No obstant això, si es processa amb htmlspecialchars($input) abans de mostrar-se, PHP converteix els caràcters perillosos:
< es converteix en <
> es converteix en >
" es converteix en " (depenent de les flags utilitzades)
' es converteix en ' (depenent de les flags utilitzades, utilitzant ENT_QUOTES)
& es converteix en &
El resultat que es mostra a la pàgina és: <script>alert('XSS Attack!');</script>
El navegador veurà això com a text pla (<script>alert('XSS Attack!');</script>) i no com a codi executable.
- Exemple de vulnerabilitat XSS Text de prova: <script>alert('XSS Attack!');</script>
- Exemple de protecció a atacs XSS
- Teoria de galetes (cookies)
- Presentació Galetes (Cookies) en PHP feta amb Gamma.app a partir de galetes_presentacio.pdf.
- Resum Galetes (Cookies) - Guia Ràpida
- Pàgina web d'exemple de galetes
- Pràctica 4 - Galetes
20251125
- Seguim fent els exercicis pendents del recull de pràctiques.
20251111
- Seguim fent els exercicis pendents del recull de pràctiques.
20251104
- Seguim fent els exercicis pendents del recull de pràctiques.
- Enunciat del projecte de connexió PDO entre PHP i MariaDB. Curs 2025-2026
- Afegit a l'exemple de selecció de base de dades: Explicació dels mètodes fets servir a php_mysql_select
- Per a evitar haver de ser root (ús de sudo) pera accedir a la BD com a usuari root (també explicat a la pràctica 1 del recull de pràctiques):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'una_contrasenya_forta_pel_root' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES; EXIT;
20251028
Seguim fent els exercicis recollits al recull de pràctiques.
20251021
Exercicis recollits a Recull de pràctiques de 2n d'ASIX. Curs 2025-2026:
- Instal·leu a la màquina virtual zip, libzip-dev i libpng-dev:
sudo apt update sudo apt install zip libzip-dev libpng-dev
- Si no teniu instal·lats les extensions PDO de PHP per a MariaDB: mysqli, pdo, pdo_mysql, gd i zip. Entre d'altres:
sudo apt install php libapache2-mod-php php-mysql
Documenteu els següents exemples:
- Feu una primera connexió des de PHP a la vostra base de dades. Heu de fer una verificació d'aquest estil (localhost)
<?php // Example (PDO) at https://www.w3schools.com/php/php_mysql_connect.asp $servername = "127.0.0.1"; $username = "root"; $password = "fjeclot"; try { $conn = new PDO("mysql:host=$servername;dbname=lamp_db", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connectat a la base de dades."; } catch(PDOException $e) { echo "No es pot connectar. Motiu: " . $e->getMessage(); } ?>
- Feu un exemple de creació de base de dades (PDO)
- Feu un exemple de creació d'una taula (PDO)
- Feu un exemple d'inserció de dades (PDO)
- Feu un exemple d'obtenció del darrer ID (PDO)
- Feu un exemple d'inserció múltiple (PDO)
- Feu un exemple de declaracions preparades i paràmetres enllaçats (PDO)
- Feu un exemple de selecció de dades (PDO) Explicació dels mètodes fets servir a php_mysql_select
function current(): string { // Afegiu : string per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
...
function beginChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
...
function endChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
- Feu un exemple de l'ordre WHERE (PDO)
- Feu un exemple de l'ordre ORDER BY (PDO)
- Feu un exemple d'esborrament de dades (PDO)
- Feu un exemple d'actualització de dades (PDO)
- Feu un exemple de limitació de dades (PDO) Aprofiteu el codi de selecció de dades per a limitar quantes línies de la taula s'han de veure i a partir de quina es comença.
20251014
- Seguim fent el recull de pràctiques
20251007
- Condicionals i bucles
- Exemples de codis PHP
- Seguim fent el recull de pràctiques
20250930
Seguim fent el recull de pràctiques
20250923
- Revisió de la instal·lació de l'entorn LAMP (Instal·lació d'un entorn LAMP. Curs 2025-2026) d'aquells alumnes que ja l'han acabada. El document en pdf demostrant el funcionament de la vostra instal·lació a una màquina virtual emprant Debian 13 ha d'estar a la carpeta compartida. La data de lliurament és el 30 de setembre de 2025
- Variables en PHP:
Primer contacte amb les variables en PHP
- Ús del mètode GET i dos arxius (html i php):
5.2.7. (GET) Ús de PHP per a aplicacions web
- Ús del mètode POST i dos arxius (html i php):
5.2.7. (POST) Ús de PHP per a aplicacions web
REQUEST fent servir GET a un sol arxiu
REQUEST fent servir POST a un sol arxiu
- PHP Select Option (Codis select0 i select1 al recull d'avui)
20250916
Temari oficial d'implantació d'aplicacions web a ASIX. Curs 2025-2026
Normes i avaluació. Curs 2025-2026
Instal·lació d'un entorn LAMP. Curs 2025-2026
Instal·lació MariaDB. Curs 2025-2026
Documentació extra
Introducció al PHP amb exemples