phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

PDO - Transactions e Prepared Statements

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Maestew
Utente
Utente
Messaggi: 2
Iscritto il: 08/03/2016, 20:34
Sesso: Maschio

PDO - Transactions e Prepared Statements

Messaggio da Maestew » 08/03/2016, 20:42

Salve,

vorrei sapere in quali casi o quando è più opportuno utilizzare le Transactions

Codice: Seleziona tutto

$dbh->beginTransaction();
rispetto ai Prepared Statements

Codice: Seleziona tutto

$stmt = $dbh->prepare(...);
Grazie :D

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: PDO - Transactions e Prepared Statements

Messaggio da Sir Xiradorn » 08/03/2016, 21:28

Quando hai bisogno di avere dei trasferimenti di dati sicuri e reversibili. Le transazioni, come saprai vengono usate con le insert o gli update e queste possono essere mandate in rollback quando qualcosa va storto e quindi ti permette quindi di non avere fallimenti nelle procedure suggerite.

Il prepare ti serve non solo per gli inserting ma anche per per la parte di select e il prepare insieme al data binding protegge le tue queries dalla procedura di injection la quale permette di introdurre caratteri speciali per vanificare una queri e poter così accedere a dati sensibili.

Se ad esempio crei una zona di testo per il login, e non fai il binding e il controllo potresti fare qualcosa del tipo.
Caso normale
User: Utente1
Pass: Passwd

Ammettiamo che la zona di testo abbia una query che fa accesso e non abbia la giusta protezione. Te potresti fa na cosa del genere ad esempio
Caso Injected
User: ' or 0=0

Questa condizione manda in palla il tuo database perchè 0=0 è sempre vera. Ora non entro troppo nel merito perchè non è simpatico rivelare come fare delle inject ma sappi che puoi addirittura lanciare comandi e fare tante belle cose.

Altri dubbi?
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Maestew
Utente
Utente
Messaggi: 2
Iscritto il: 08/03/2016, 20:34
Sesso: Maschio

Re: PDO - Transactions e Prepared Statements

Messaggio da Maestew » 09/03/2016, 13:18

Grazie per la risposta, al momento non ho nessun altro dubbio.

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 77 ospiti