I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Nej. Det er den aldrig, når du putter _GET og _POST variabler direkte ind i SQL-udtryk, med mindre det er prepared statements.
$bruger = mysql_real_escape_string($_GET['bruger']); $select_auth = mysql_query("SELECT * FROM brugere WHERE brugernavn=$bruger"); - Vil være det mindste du skal gøre.
Jeg mener ikke at man kan droppe table her, da mysql_query kun tager imod én statement.
Det er dog ikke en sikker måde du har gjort det på. Hvis en bruger f.eks skriver '; DROP TABLE brugere;' Ville det sådan her ud: SELECT * FROM brugere WHERE brugernavn=''; DROP TABLE brugere;''
Jeg tror ikke det vil virke, fordi mysql_query som sagt vidst kun tager én query ad gangen. Han kan dog også skrive andet ' or PASSWORD = 'gætetkodeord' SELECT * FROM brugere WHERE brugernavn='' or PASSWORD = 'gætetkodeordsomenellerandetbrugerhar'
Det kunne man godt skrive, men det får man desværre ikke meget ud af. Jo, den selecter alle brugere, men bagefter i koden tjekker han også om kodeordet er det samme som den selectede bruger. Det skulle vidst også have været ' OR '1=1
Men ja, hvorfor skulle man tænke så abstrakt, når man lige så godt bare kan sikre koden 100% mod injections med et enkelt funktionskald.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.