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
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.
Neden bir C iç içe sınıfları kullanmak...
Neden Oracle veritabanı kullanmak isti...
Neden bir Yayınla/Abone ol desen (JS/j...
Neden yeryüzünde herkes unordered_set ...
Neden Google yazı tipi etiketi kullanm...