تسلسس النص والقيم في استعلامات sql go نهج tuple غير صالح في GO ، ومحاولة إلقاء المعلمات لأن السلاسل ستؤدي إلى أخطاء عدم التوافق في النوع. يتيح لك هذا تضمين القيم داخل السلسلة في وقت التشغيل:
استعلام: = fmt.sprintf (`columna من tablea حيث columnb = ٪ d و columnb = ٪ s` ، Somenumber ، somensring)
هنا ، تمثل العناصر النائبة ٪ d و ٪ s قيم عدد صحيح وسلسلة ، على التوالي ، والتي يتم تعيينها بعد ذلك أثناء db.query call:
SQL حقن الضعف. للتخفيف من هذا الخطر ، استخدم عبارات معدة والاستعلامات المعلمة. من خلال تمرير القيم كمعلمات ، يمكنك منع المدخلات الضارة من تعديل استعلام SQL المقصود.
query := fmt.Sprintf(`SELECT columnA FROM tableA WHERE columnB = %d AND columnB = %s`,
someNumber, someString)
باستخدام عبارات معدّة ، يمكنك حماية التطبيق الخاص بك من إدخال SQL الضار مع الحفاظ على راحة بناء الاستعلامات الديناميكية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3