SORU
28 EKİM 2008, Salı


Neden birisi 1=1 NEREDE kullanmak istiyorsunuz VE &; koşullar lt> SQL tümcesi?

Neden birisi bir fıkra SQL (SQL dizeleri birleştirilmiş yoluyla elde edilen, ya da görünüm tanımı) WHERE 1=1 AND <conditions> kullanmak istiyorsunuz

Bu SQL Enjeksiyon karşı korumak için kullanılan, bir yerde görmüştüm, ama çok garip görünüyor.

Eğer enjeksiyon varsa WHERE 1 = 1 AND injected OR 1=1 injected OR 1=1 aynı sonuç olurdu.

Görünüm tanımında kullanımı Ne olacak? Düzenle sonra:


Cevaplarınız için teşekkür ederim.

Hala, Neden kimse bir görünüm tanımlamak için bu yapı kullanın, ya da içinde saklı bir yordam kullanmak istiyorsunuz anlamıyorum.

Örneğin: "bunu alın

CREATE VIEW vTest AS
SELECT FROM Table WHERE 1=1 AND table.Field=Value

CEVAP
28 EKİM 2008, Salı


Koşullar listesini derleme zamanında bilinen ve zamanında inşa edilmiştir bunun yerine, bir veya birden çok durumun var olup olmadığı hakkında endişelenmenize gerek yok. Hepsini gibi oluşturabilirsiniz:

and <condition>

ve hepsini bir arada birlikte. Başında 1=1, and başlangıç ile ilişkilendirmek için bir şey vardır.

Pek yardımcı olacak gibi bu görünmüyor dediğiniz gibi enjeksiyon her türlü koruma için kullanılan, gördüm. Benvaruygulama bir kolaylık olarak görülüyor. SQL sorgu motoru performans etkisi olması gerekir bu yüzden 1=1 görmezden sona erecek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007