Benissimo, grazie
Sembra tutto a posto
Benissimo, grazie
Sembra tutto a posto
Ciao,
Ho ricevuto diverse email questo fine settimana che mi comunicavano tentativi di accesso al mio account per più di cinque volte con conseguente blocco di 15 minuti. A quanto ho capito c'è qualcuno che sta provando ad entrare nel forum con il mio account.
Esiste un modo per visualizzare i post scritti a mio nome? Cioè su altre piattaforme di forum esiste una voce apposita "I miei post" in cui è possibile visualizzare tutti i post inseriti, esiste una funzionalità analoga qui?
Grazie
Mi dispiace ma non ho tempo da dedicare a questa cosa
Ti consiglio di contattare l'autore e segnalare il problema. Il problema lo puoi risolvere (come spiegato nella pagina di wikipedia che ti ho linkato) validando l'input ricevuto attraverso il form.
Oltre all'infiltrazione di utenti esterni qualcuno potrebbe cancellare tutti i tuoi dati, cambiare la password di tutti gli utenti e altri giochetti del genere.
Credo sia quello giusto ma senza avere la struttura del database sottomano è molto difficile da capire se il funzionamento è quello atteso visto che chi ha programmato lo script preleva i dati facendo riferimento non al nome del campo ma alla sua posizione nella query (ad esempio vedi i vari $arr[19] etc.etc.).
In ogni caso, scusa la franchezza, ma credo che il corretto funzionamento della matrice sia l'ultimo dei tuoi problemi.
Devo darti una brutta notizia
Anche il codice che hai postato è passibile di sql injection.
Cioè tramite il form di login è possibile eseguire query arbitrarie sul database.
Probabilmente nel file download.php c'è l'algoritmo che verifica se l'utente è autorizzato a scaricare i prodotti digitali. Ma quasi sicuramente si può scavalcare resettando le password tramite il form di login.
Postalo pure, sperando che il codice non sia troppo confuso
Senza ulteriori dettagli è difficile da capire, credo sia un errore di programmazione.
In ogni caso considera che se tutte le query sono fatte in quel modo esiste una possibilità concreta che sia possibile forzare la verifica e scaricare i prodotti digitali assegnati ad altri utenti.
Il codice che hai postato può essere utilizzato per eseguire query arbitrarie
Per approfondire puoi dare un'occhiata a questa pagina
it.wikipedia.org/wiki/SQL_injection
Prova a cambiare questa riga
[PHP]$query="update members set Name='$db_field[1]', Address='$db_field[2]', City='$db_field[3]', State='$db_field[4]', Zip='$db_field[5]', Country='$db_field[6]' where ID=$db_field[0]";[/PHP]
in
[PHP]$query="update members set Name='$db_field[1]', Address='$db_field[2]', City='$db_field[3]', State='$db_field[4]', Zip='$db_field[5]', Country='$db_field[6]' where ID=".intval($id);[/PHP]
In ogni caso, oltre ad essere parecchio confuso, il codice sembra avere diversi problemi di sicurezza
cambiala in
/^[a-z0-9 ]{3,20}$/i
(c'è uno spazio dopo il 9)
Se vuoi approfondire a questo indirizzo fido.altervista.org/RegExp/regex.html trovi una guida alle espressioni regolari
@azureangel127 said:
Inizialmente l'array ha questa forma:
$shop = array( array(370, 0),array( 520, 0),array(990, 0),array(1633, 0)}Poi salvo l'array in un file di testo chiamato shop.txt.
A questo punto nel file di testo si forma la seguente stringa:
370 0 , 520 0 , 990 0 , 1633 0 ,
il mio problema è che non riesco più a tornare all'array di partenza
Ciao,
se puoi intervenire sul codice php che crea il file shop.txt ti consiglio di salvare l'array utilizzando la funzione serialize (php.net/serialize) in questo modo nella seconda pagina puoi leggere il contenuto del file e, attraverso la funzione unserialize (php.net/unserialize), ottenere l'array originale.
se non hai modo di intervenire sul codice che crea il file shop.txt prova questo codice:
[PHP]
// arrOuput conterrà l'array originale
$arrOutput = array();
// legge il file shop.txt
$strContent = file_get_contents('shop.txt');
// crea un array per ogni coppia di valori separato dalla virgola
$arrContent = explode(",", $strContent);
// rimuove gli spazi da ogni elemento dell'array
$arrContent = array_map('trim', $arrContent);
// cicla le linee del file
foreach ($arrContent as $strLine) {
// memorizza i valori separati da spazi in un array
$arrParts = explode(' ', $strLine);
/* rimuove gli spazi da ogni elemento e assegna il risultato ad un nuovo elemento di arrOuput */
$arrOutput[] = array_map('trim', $arrParts);
}
// $arrOutput contiene l'array originale
var_dump($arrOutput);
[/PHP]
Spero ti possa essere utile
Ciao a tutti,
abito in provincia di agrigento, se qualcuno va a palermo il 5 giugno magari si potrebbe andare insieme.
fatemi sapere
p.s.
spero che non sia OT, non scrivo molto spesso qui
Ciao a tutti,
l'esperienza di Riposto è stata molto interessante sia per la qualità degli interventi che per l'occasione di confronto con altre realtà locali;
anche se il seo non è il mio campo di attività principale è stata comunque una esperienza utile e molto accessibile anche a chi ha solo una conoscenza superficiale dell'argomento.
grazie a tutti per la bella esperienza
Ciao,
potresti postare l'output del comando DESC nometabella? (di tutte e quattro le tabelle ovviamente)
Di solito la lentezza di esecuzione è data dalla mancanza di indici;
se posti anche il risultato del comando "EXPLAIN query_che_esegui"
(ad es. EXPLAIN SELECT * FROM tabella) aiuti gli altri ad aiutarti.