SQL injection (Tavdacva) Skidrow 29 სექტ 2013, 13:44 eseigi ra aris SQL ineqcia? es aris klasikuri sheteva sql bazaze ris shedegadac chven vgebulobt monacemebs romelic inaxeba shemdeg monacemta bazashi. arsebobs ineqciis ori gza,chveulebrivi romelic martivia da blind shedarebit rtuli. rogor gavigot tydeba tu ara esa tu is saiti? pirveli rigshi chven saitze vezebt cvlads romelsac cwvdoma aqvs bazastan anu im cvladit vigebt shesabamis query s. magalitad chven vxedavt saitze shemdeg rames : Mag: Srulad Naxva kargi shevamowmod URL http://site.ge/index.php?do=news&id=2 kagria chven shevdzlebt shetevas ratqmaunda tu daucvelia. shevamowmot,davamatod links boloshi raime quote: http://site.ge/index.php?do=news&id=2' aris shecdoma ? Ok chven shevdzlebt shetevas. me mets am temashi agar gavagdzeleb radganac es tema aris tavdacvaze da ara shetevaze. me am temashi agixsenit rom sheamowmot tqveni saitis daculoba. rogor davicva? arsebobs tavdacvis bevri funqcia magram radganac mec xshirad am funqciebs viyeneb da professoric modit visaubrot am ori funqciis gamoyenebaze. htmlspecialchars rashi gvchirdeba? es funqcia aris imistvis ro rata egredwodebuli quote bi ar iqnas agqumli da sataveshi bolo mougos mas:D ai magalitad: es funqia roar sruldeba eg swored misi damsaxurebaa. ratqmaunda sxva funqciebic arsebobs romelzec shemdgom visaubrot. brdzaneba shemdegi $id=htmlspecialchars($id); pirobitad ID. aseve arsebobs intval funqia romelic uzrunvelyops cvladis mtel ricxvad gamocxadebas. $id = intval($_REQUEST['id']); mtliani brdzaneba: $id = htmlspecialchars(mysql_escape_string($id)); --------------- Bing 29 სექტ 2013, 13:59 [url=http://archive.wapforum.ge/viewtopic.php?p=23799&cit]ციტატა: Skidrow barem dagewera srulad rogor xdeba tavdacva --------------- Skidrow 29 სექტ 2013, 14:06 Bing,me ro eg davwero sxva mainc ver chawvdeba,aseve arsebobs tavdacvis sxvadasxva xexrebi romeltac albat veravin chamotvlis,modit aq ar vioftopod da ubralod davwerod , rogor davicvad romelime cvladi.an shekitxvebi raime konkretul magalitze da ara zogadad. --------------- professor 29 სექტ 2013, 15:48 [url=http://archive.wapforum.ge/viewtopic.php?p=23815&cit]ციტატა: Skidrow nelnela daaredaqtire sheni pirveli posti da kargad auxseni ra aris saertod sql injection-i. me cvladebs vfiltrav htmlspecialchars da mysql_real_escape_string dziritadad am or funqcias viyeneb. :) --------------- Skidrow 29 სექტ 2013, 17:15 aba naxet ) --------------- Bing 29 სექტ 2013, 17:24 [url=http://archive.wapforum.ge/viewtopic.php?p=23829&cit]ციტატა: professor filter_var da filter_input ar iyeneb?xo htmlspecialchars it mqonda gafiltruli phplearnze statiebis failebi --------------- Skidrow 29 სექტ 2013, 17:27 Bing,me agvnishne rom xshirad gamoyenebuli filtrebiatqo,yvela filtraciis funqcias me xoar davwer,es marto chemi tema araa tqvenc daweret. --------------- Bing 29 სექტ 2013, 17:28 [url=http://archive.wapforum.ge/viewtopic.php?p=23799&cit]ციტატა: Skidrow mysqlstan dakavshirebul querebze shen ra xerxit icav? :) --------------- Skidrow 29 სექტ 2013, 17:32 Bing,mathematikurad . Magas aq ver davwer. --------------- Bing 29 სექტ 2013, 21:43 Skidrow, iqneb ufro srulad dawero 1 posti --------------- NEO 27 ოქტ 2013, 16:05 php --------------- chino 27 ოქტ 2013, 16:09 [url=http://archive.wapforum.ge/viewtopic.php?p=37314&cit]ციტატა: NEO შეცდომის დაფარვას ჯობია სკრიპტი დაიწეროს ბაგების გარეშე :) --------------- NEO 27 ოქტ 2013, 16:10 [url=http://archive.wapforum.ge/viewtopic.php?p=37316&cit]ციტატა: chino ეეეხ. სადაა ბაგების გარეშე სკრიპტები. :) --------------- chino 27 ოქტ 2013, 16:11 [url=http://archive.wapforum.ge/viewtopic.php?p=37314&cit]ციტატა: NEO ცოტა რო განმარტო პირველი წინადადება რა შემთხვევაში რა გამოვიყენოთ კარგი იქნებოდა ასევე intval, abs თუ იცი დაწერე :) --------------- NEO 27 ოქტ 2013, 16:36 გისმენთ :) --------------- Bing 27 ოქტ 2013, 16:58 [url=http://archive.wapforum.ge/viewtopic.php?p=37314&cit]ციტატა: NEO intval aris kide, --------------- Bing 27 ოქტ 2013, 17:00 [url=http://archive.wapforum.ge/viewtopic.php?p=37316&cit]ციტატა: chino martali xar, :) mqonda saiti chemit dawerili,da koders shevamowmebine da ver gatexa --------------- chino 27 ოქტ 2013, 17:03 [url=http://archive.wapforum.ge/viewtopic.php?p=37323&cit]ციტატა: NEO კარგი დავწერ მე როგორ ვაკეთებ. თუ რამეს არასწორად ვაკეთებ გთხოვთ შემოსწოროთ :) მაგალითად მაქვს GET მიმართვა saiti.ge/view.php?id=1 თუ ზუსტად ვიცით და გვინდა რომ ეს id იყოს რიცხვი ანუ ინტეჯერი ვფილტრავთ ასე $id = abs(intval($_GET['id'])); აქ abs(); გვაძლევს ყოველთვის დადებით რიცხვს ხოლო intval();_ს გადაყავს string რიცხვში. თუ მომხმარებლისგან ვიღებთ ინფორმაციას (ავსებს მაგალითად სარეგისტრაციო ველებს) string ტიპის გავატაროთ ის htmlentites(); ან ანალოგიურ ფუნქციით htmlspecialchars(); მაგ: $name = htmlentites($_POST['name']); ან $name = htmlentites($_POST['name'],ENT_QUOTES); სადაც მეორე პარამეტრია გარდაქმნას ერთმაგი ბრჩყალებიც აი მანუალიდან ამოვიღებ მაგალითს: "'" (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES. თუ მონაცემები შეგვაქვს მონაცემთა ბაზაში უნდა გავფილტროთ mysql_real_escape_string();_ით მაგ: $name = mysql_real_escape_string(htmlentites($_POST['name'])); ასევე ხშირია შემთხვევა რომ მომხარებელი რეგისტრაციისას ნიკის ველში ჩაწერს chino და ერთხელ შემთხვევით დაარტყავს პრობელს. ვითომ არაფერი მაგრამ ის პრობელიც სიმბოლოა და ავტორიზაციისას რო დაწერს ნიკი: chino ის ვერ შევა სისტემაში, ამიტომაც უნდა გავფილტროთ ცვლადი trim(); ფუნქციით :) მაგ: $name = htmlentites(trim($_POST['name'])); ასევე რეკომენდირებულია htmlentites(); ან htmlpecialchars();_ში გავატაროთ ის ცვლადები რომლებიც ეკრანზე გამოგვაქვს :) პ.ს როგორც რუსები იტყვიან ხოლმე "Лишней проверки не бывает" სამართლიანი შენიშვნები და შესწორებები არ დაიშუროთ :) --------------- NEO 27 ოქტ 2013, 17:18 [u --------------- NEO 27 ოქტ 2013, 17:21 [url=http://archive.wapforum.ge/viewtopic.php?p=37340&cit]ციტატა: chino და კიდევ, mysql_query დან გაფილტვრა აღარაა საჭირო php_ის ახალ ვერსიებში. უფრო სწორედ mysql_query იცვლება :) --------------- chino 27 ოქტ 2013, 17:32 [url=http://archive.wapforum.ge/viewtopic.php?p=37347&cit]ციტატა: NEO $name = mysql_real_escape_string(htmlentites(trim($_POST['name']))); $pass = mysql_real_escape_string(htmlentites(trim($_POST['pass']))); მაგრამ პაროლში ერთი ნუანსია დაშვებული სიმბოლოები თუ გინდა მაგალითად a-z 0-9 და ა.შ უნდა რეგულალური გამოსახულება დაწერო. INSERT INTO table_name (name,password) VALUES ($name,$pass); --------------- chino 27 ოქტ 2013, 17:34 [url=http://archive.wapforum.ge/viewtopic.php?p=37348&cit]ციტატა: NEO საერთოდ მალე ასეთი სქლ ბრძანებების ამოღებას აპირებენ ხმარებიდან და ახლავე გვირჩევენ გადავიდეთ ოოპ სტილზე --------------- Skidrow 28 ოქტ 2013, 10:09 da shedtsdomis dapharva gamosavalia ? Rodesats injection s vaketheb da display ze sitsarieles vkhedav magas ragha mikhvedra unda :) abs mathematikurad absoluturi value ) --------------- ანონიმი 28 ოქტ 2013, 12:47 [url=http://archive.wapforum.ge/viewtopic.php?p=23815&cit]ციტატა: Skidrow vapaseb shen shromas,im shromas romlitac daakopire da targmne es statia,sasurvelia sapudzveli chauyaro da jer axsna tu ra aris sql ineqciebi ratom xdeba eg da uketesi iqneba rom auxsna tu rogor akrdzalon es taviant saitebze da daayenon filtracia,kopirebit da targmnit xalxs upro daabnev chemi azrit vidre aswavli,antichatis statiebi aq cota ar iyos rtuli gasarchevia ;) --------------- Skidrow 28 ოქტ 2013, 14:06 virus-extra,დავაკოპირე ? რამეს სანამ იტყვი რო დაფიქრდე კარგი იქნება :)) ნუ მომავალში მაინც გამოგადგება :)) ---------------