Kom ihåg mig?
Home Menu

Menu


Mysql radera rad

 
Ämnesverktyg Visningsalternativ
Oläst 2009-05-22, 15:22 #21
Hoel Hoel är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2007
Inlägg: 46
Hoel Hoel är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2007
Inlägg: 46
Citat:
Ursprungligen postat av Jonas
Citat:
Originally posted by -Hoel@May 22 2009, 00:35
Jonas är säkert dalai lama på sin planet
Okej, det låter ju rimligt. Problemen uppstår ju när systemet använts i ett par månader. ID kommer då att börja vid runt 10 000. Föreställer mig att det kommer bli onödigt stora tal...


Måste försvara mig lite här nu.
1. Tanken från min sida var att se hur godtrogen du var. Allt för många ger ut uppgifter utan att veta exakt vem dom har att göra med. Det hela har ett begrepp http://en.wikipedia.org/wiki/Social_engineering_(security)
2. Jag skulle inte ens gått in på länken om du gett mig den, utan snarare postat här i tråden om att jag fick den av dig. Eftersom så som du har gjort det är livsfarligt.

Menade inget illa med dalai lama, smileyn föll bort
Är bekant med Social Engineering, och du verkar vara en alldeles för respekterad medlem här för att
trixa med min databas

Citat:
Ursprungligen postat av tartareandesire
1. Undvik att använda något annat än en explicit url i action-attributet.
2. Skicka bara med id-numret. Nu har du en sql-sats där som vem som helst kan manipulera på klientsidan för att på så vis radera hela databasen eller vissa id:n om man tycker det är roligare.
Exempel på hur satsen skulle kunna se ut ?
Hoel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-22, 17:57 #22
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
gör om värdet som läggs in i hidden så du endast lägger Idt.

På sidan som du postar till skapar du en variabel vid namn $sql1 (eller likn) och i slutet av variabeln lägg till värdet från postade hiddenfältet som du gör en escape på för att ta bort "förbjudna" tecken.
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-22, 18:01 #23
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Originally posted by allstars@May 22 2009, 17:57
gör om värdet som läggs in i hidden så du endast lägger Idt.
På sidan som du postar till skapar du en variabel vid namn sql1 (eller likn) och i slutet av variabeln lägg till värdet från postade hiddenfältet som du gör en escape på för att ta bort förbjudna tecken.
escape = mysql_real_escape_string
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-22, 18:14 #24
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
ja, precis, Tack!
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-22, 23:00 #25
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Citat:
Ursprungligen postat av Hoel
Menade inget illa med dalai lama, smileyn föll bort
Är bekant med Social Engineering, och du verkar vara en alldeles för respekterad medlem här för att
trixa med min databas

Säg inte det

Citat:
Ursprungligen postat av Hoel
Exempel på hur satsen skulle kunna se ut ?
Kod:
<?php
$action = (isset($_GET['action'])) ? $_GET['action'] : false;

switch($action)
{
case 'delete':
$id = (isset($_POST['imgID'])) ? $_POST['imgID'] : false;
$id = intval($id);

if($id)
{
$query = sprintf('DELETE image FROM IMAGE WHERE id=%d', $id);
mysql_query($query);
}
break;
}
?>
<form action="?action=delete" method="POST">
<input type="hidden" name="imgID" value="<?php echo (isset($id)) ? $id : ''; ?>" />
<input type="submit" value="Delete Image" />
</form>
Borde vara något som fungerar och är rätt säkert mot SQL injections även.
Använder man inte MySQLi/PDO mm med Prepared statements så bör man använda sprintf för att göra queryn.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-23, 01:18 #26
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Originally posted by Alex@May 21 2009, 23:56
Mm, hela fem bytes stora! =)... Det är inga större problem.
Auto_increment lagrar INTE talen som strängar utan som heltal och då går det inte åt mer än optimlat ett "word" (integer eller long) dvs en allokeringsenhet i minnet.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-05-23, 01:22 #27
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Originally posted by WoxAnYv@May 22 2009, 09:02
Du kan ju förvisso köra följande också ifall du vill omsortera dina id:n men jag vidhåller vad andra sagt, strunt i att använda id:t till något annat, vill du ha ett id som löper snyggt framåt på utsidan, mata ut det hjälp av php istället i din loop där utmatningen sker.

Kod:
ALTER TABLE table DROP id, ADD id INT UNSIGNED AUTO_INCREMENT NOT NULL, AUTO_INCREMENT = 1;
Det där funkar enbart om man inte har en enda främmande nyckel som refererar till ID i den tabellen, annars tappar manalla nyclar och refernserna blir helt korrupta, dvs data blir helt oanvändbart.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 20:17.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017