Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-03-2004, 23:25   #1
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
[PHP] Funzione per autenticazione

Volevo condividere con voi questa funzione per l'autenticazione in PHP...

Innanzi tutto ecco quello che volevo garantire era una protezione dalla forza bruta...

Questo sono le due tabelle necessarie...
Codice:
#
# Table structure for table 'admins'
#

DROP TABLE IF EXISTS admins;
CREATE TABLE admins (
  Username varchar(30) NOT NULL default '',
  Password varchar(255) NOT NULL default '',
  PRIMARY KEY  (Username)
) TYPE=MyISAM;



#
# Table structure for table 'loginlog'
#

DROP TABLE IF EXISTS loginlog;
CREATE TABLE loginlog (
  IP varchar(30) NOT NULL default '',
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  last_result tinyint(1) unsigned NOT NULL default '0',
  banned tinyint(1) unsigned NOT NULL default '0',
  total_retrys int(10) unsigned NOT NULL default '1',
  retrys int(10) unsigned NOT NULL default '1',
  PRIMARY KEY  (IP)
) TYPE=MyISAM COMMENT='Tentativi login';
I file di utilità:
Codice PHP:
<?php
function db_open($dbhost$dbuser$dbpass$dbname, &$conn)

    
$conn=mysql_connect($dbhost$dbuser$dbpass)  
        or die(
"Errore nella connessione al database"); 
    
mysql_select_db($dbname$conn
        or die(
"Impossibile selezionare il database $dbname"); 


function 
do_query($query, &$results

    
$results mysql_query($query
        or die( 
"Errore: $query \n" .mysql_error()); 


function 
lock_tables($tables)  //NOMETABELLA [WRITE|READ] separati da virgola 

    
$tables "LOCK TABLES ".$tables.";"
    
do_query($tables$res); 


function 
unlock_tables() 

    
do_query("UNLOCK TABLES;"$res); 
}
?>
I dati di configurazione della funzione di login:
Codice PHP:
<?php
//tabella per il logging dei tentivi
$logtable "loginlog"
//tabella che contiene username e password
$authtable "admins";
//intervallo di controllo sui login falliti
$fail_interval "20 MINUTE";
//intervallo di controllo sui login corretti
$success_interval "2 MINUTE"
//non si possono fare più di fail_num login 
//errati nell'intervallo fail_interval
$fail_num 10;  
//non si possono fare più di success_num
//login corretti nell'intervallo success_interval
$success_num 10
//comunque non si possono fare più di total_num
//tentativi nell'intervallo fail_interval
$total_num 30
?>
Ed ecco la funzione:
Codice PHP:
<?php
function verify_user($username$password)
{
    require(
"login_config.inc.php"); //contiene la definizione dei dati per configurazione del login
    
require("dbaccess.inc.php"); //contiene i dati per la connessione
    
require("mysql.inc.php");
    require(
"main.inc.php"); //contiene la definizione di check_param (contro l'SQL injection)
    
if(!check_param($username) || !check_param($password))
        return 
0;
    
db_open($dbhost$dbusername$dbpassword$dbname$conn);
    
lock_tables("$authtable READ");
    
do_query("SELECT Username FROM $authtable WHERE Username = '$username' "
            
."AND Password = md5('$password');"$res);
    
$row mysql_fetch_assoc($res);
    
$success = ($row["Username"] == $username && mysql_num_rows($res) > 0) ? 0;
    
mysql_free_result($res);
    
unlock_tables();
    
lock_tables("$logtable WRITE");
    
do_query("DELETE FROM $logtable WHERE (NOW() - "
            
."DATE_ADD(Timestamp, INTERVAL $fail_interval)) > 0;"$res);
    
do_query("SELECT *, (NOW() - DATE_ADD(timestamp, INTERVAL $fail_interval)) "
            
."As fail_flag, (NOW() - DATE_ADD(timestamp, INTERVAL $success_interval)) "
            
."As success_flag FROM $logtable WHERE IP = '"
            
.$_SERVER["REMOTE_ADDR"]."';"$res);
    
$row mysql_fetch_assoc($res);
    
mysql_free_result($res);
    if(
$row["IP"] != $_SERVER["REMOTE_ADDR"])
        
//nuovo IP
        
do_query("INSERT INTO $logtable (IP, last_result, banned, timestamp) "
                
."VALUES('".$_SERVER["REMOTE_ADDR"]."', $success, 0, NOW());"$res);
    else if(
$row["banned"])
    {
        
//ip bannato
        
$success 0;
        
do_query("UPDATE $logtable SET timestamp = NOW() WHERE IP = '"
                
.$_SERVER["REMOTE_ADDR"]."';"$res);
    }
    else
    {
        
//ip non bannato, ma presente sulla tabella
        
$banned 0;
        
$time "'".$row["timestamp"]."'";
        
$last_result $success;
        if(
$row["fail_flag"] < 0)
            
$total_retrys $row["total_retrys"] + 1;
        else
            
$total_retrys 1;
        if(
$success && $row["last_result"] == && $row["retrys"] < $success_num
                
&& $row["success_flag"] < 0)
            
//successo con successo precedente
            
$retrys $row["retrys"] + 1;
        else if(!
$success && $row["last_result"] == && $row["retrys"] < $fail_num
                 
&& $row["fail_flag"] < 0)
            
//insuccesso con insuccesso precedente
            
$retrys $row["retrys"] + 1;
        else if(
$success && $row["last_result"] == && $row["retrys"] >= $success_num 
                
&& $row["success_flag"] < 0)
        {
            
//bannaggio di un ip, perchè ha superato il numero di successi
            
$banned 1;
            
$retrys $row["retrys"] + 1;
            
$success 0;
            
$time "NOW()";
        }
        else if(!
$success && $row["last_result"] == && $row["retrys"] >= $fail_num 
                
&& $row["fail_flag"] < 0)
        {
            
//bannaggio di un ip, perchè ha superato il numero di insuccessi
            
$banned 1;
            
$retrys $row["retrys"] + 1;
            
$success 0;
            
$time "NOW()";
        }
        else if(
$row["total_retrys"] >= $total_num && $row["fail_flag"] < 0)
        {
            
//bannaggio per aver superato il num. massimo di tentativi
            
$banned 1;
            
$retrys 0;
            
$success 0;
            
$time "NOW()";
        }
        else
        {
            
$retrys 1;
            
$time "NOW()";
        }
        
do_query("UPDATE $logtable SET last_result = $last_result, banned = $banned, "
                
."timestamp = $time, retrys = $retrys, total_retrys = $total_retrys "
                
."WHERE IP = '".$_SERVER["REMOTE_ADDR"]."';"$res);
        
//a questo punto se $banned è uguale a 1 si potrebbero
        //loggare i ban effettuati su un'altra tabella
    
}
    
unlock_tables();
    
mysql_close($conn);
    return 
$success;
}
?>
Cosa ne pensate ? Come la migliorereste ?

Ciao

Ultima modifica di cionci : 01-03-2004 alle 23:32.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 10:57   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Up
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 14:24   #3
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
adesso me la studio questa funzione ma sicuramente sarà una bomba questo script

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 15:00   #4
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
incomincio a chiederti delle cose:

nei file che includi non capisco le informazioni che ci devo mettere.
Forse sarà una domanda stupida ma che cosa è il check param???



~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 16:02   #5
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
ok tutto sistemato tranne che non so che devo fare nel file check_param, ho provato a vedere anche su php.net ma nisba.

Come funzione la trovo veramente fatta bene ... pensando che avrei solo fatto un controllo sull'utente e sulla pass.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 20:20   #6
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
check_param è una funzione definita in un'altro file. Da quello che ho capito cionci la usa per controllare che l'utente non tenti di fare alcuni giochetti strani con i parametri passati tramite form.

Sono curioso di veder questa funzione. Cosa controlli di solito in questi casi ?

Per ora l'unica cosa che mi viene in mente e l'utilizzo di qualche assert qua e la al posto di un qualche if.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 20:52   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
check_param per ora è molto semplice...non ci ho ancora pensato molto...
Codice PHP:
<?php
function check_param($param)
{
    if(!isset(
$param) || stristr($param";") || stristr($param"SELECT"
    || 
stristr($param"UPDATE") || stristr($param"INSERT")
    || 
stristr($param"DELETE") || stristr($param"CREATE"))
        return 
FALSE;
    return 
TRUE;
}
?>
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 20:55   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da VICIUS
Per ora l'unica cosa che mi viene in mente e l'utilizzo di qualche assert qua e la al posto di un qualche if.
Dove li metteresti ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 20:56   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Fenomeno85
nei file che includi non capisco le informazioni che ci devo mettere.
In dbaccess.inc.php devi definire queste variabili:

$dbhost
$dbusername
$dbpassword
$dbname
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 21:04   #10
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
Quote:
Originariamente inviato da cionci
In dbaccess.inc.php devi definire queste variabili:

$dbhost
$dbusername
$dbpassword
$dbname
scusa ma username e pass non sono passate??

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 21:13   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
No...$dbusername e $dbpassword, da mettere nel file dbaccess.inc.php, sono i dati per accedere al database... $username e $password sono quelli da verificare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2004, 21:20   #12
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
scusa ma io non devo collegarmi con quel utente al db???

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2004, 07:07   #13
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
ok ho capito quello che si deve fare con l'autenticazione ... mi stavo incasinando pensando che si doveva modificare la tabella dei grant

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2004, 08:41   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Fenomeno85
ok ho capito quello che si deve fare con l'autenticazione ... mi stavo incasinando pensando che si doveva modificare la tabella dei grant

~§~ Sempre E Solo Lei ~§~
Quella te la metti come ti pare a te...è per quello che non ho specificato il file dbaccess.inc.php...infatti contiene informazioni relativi alla connessione con il db che cambiano da server a server...

Avete capito come funziona ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2004, 09:52   #15
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cionci
Dove li metteresti ?
Ci ho dato un'occhiata piu approfondita e non mi pare ci sia bisogno di qualche assert.
Il mio deve essere stato un riflesso condizionato visto che di solito metto delle assert un po ovunque

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2004, 15:14   #16
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
ma perchè success è sempre 0??? se provo con un utente inserito o meno nella tabella admin.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2004, 12:19   #17
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
uppete

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2004, 18:40   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
A me success non è sempre 0... Prova a fare un po' di debug...

Ultima modifica di cionci : 04-03-2004 alle 18:50.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2004, 18:56   #19
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
bo non so il perchè non vuole funzionare

comunque forse può essere utile ma aggiungerei nella funzione verify_user il controllo per l'eliminazione degli spazi facendo

$username = trim ($username);
$password = trim ($password);

adesso riprovo a controllare se non ho sbagliato qualcosa

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2004, 19:06   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì...ma non in questo modo...io farei così.. Se ci sono spazi allora il login è sbagliato...

if($username != trim ($username) || $password != trim ($password))
return FALSE;
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
Questa soluzione da 25 euro potrebbe riv...
ROG Xbox Ally X, gestire il processore c...
Pichai: 'Nessuno è immune da una ...
Alice Recoque: il nuovo supercomputer Ex...
Il Digital Networks Act non convince Fib...
Comprare una GPU sarà impossibile...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v