Hücrede görünen değer tek başına yeterli değil
Yapay zekâdan kısa notlarınızı CSV tablosuna dönüştürmesini istediniz. Notlardan biri =1+1 biçiminde bir metin. Dosyayı açtığınızda aynı yerde 2 görüyorsunuz. Sayı aritmetik olarak doğru olabilir, fakat sizin veriniz artık aynı veri değildir. Buradaki amaç işlem hesaplamak değil, yazılmış ifadeyi olduğu gibi saklamaktır. Kontrolü görüntülenen sonuca bakarak kapatırsanız bu değişimi kaçırabilirsiniz.
CSV bir çalışma kitabı gibi hücrelerin bütün tür özelliklerini saklamaz. Dosyanın metni ile onu açan uygulamanın verdiği anlamı ayrı düşünmek gerekir. Bir alanın CSV kurallarına göre tırnak içinde yazılması, tablo uygulamasının onu kesinlikle metin olarak tutacağı anlamına gelmez. Aynı dosya başka bir açma yolunda farklı yorumlanabilir.
OWASP, formül başlangıcı taşıyan alanların elektronik tablolarda formül olarak değerlendirilebildiğini ve bazı kaçış yöntemlerinin kaydetme ile yeniden açmada etkisini kaybedebildiğini açıklar. Bu yüzden tek bir karakter eklemeyi bütün uygulamalar için geçerli koruma saymıyoruz. Aşağıdaki beş hücre yalnızca zararsız bir eğitim örneğidir; dış bağlantı, komut veya gerçek kullanıcı verisi içermez.Kaynak: OWASP — CSV Injection
Beş ifadenin hepsini metin kabul edin
| Kimlik | Not metni | Beklenen tür |
|---|---|---|
| T01 | =1+1 | Metin |
| T02 | +2+3 | Metin |
| T03 | -4+2 | Metin |
| T04 | @not | Metin |
| T05 | normal not | Metin |
Tablonun sözleşmesi bütün Not alanlarının metin olduğunu söylüyor. T03 başındaki eksi nedeniyle gerçek bir negatif ölçüm değildir; verilen ifade bir nottur. Sayısal ölçümler içeren başka bir veri kümesinde tüm eksi işaretlerini kaldırmak yanlış olurdu. Tür kararını ilk karakterin görünüşünden önce alanın amacına bağlayın. Ham alanları değiştirmeden koruyun.
Bu örnekte satır sayısı beş, kimlik sayısı beş ve Not alanında beklenen formül sayısı sıfırdır. Ancak bu üç toplam aynı anda doğru olsa bile metinlerin değişmediği ayrıca sınanmalıdır. =1+1 ifadesi metin olarak 2 yapılmışsa artık formül bulunmayabilir, fakat kaynak kaybı vardır. Hücre türü ve içerik eşitliği birbirini tamamlayan iki kontroldür.
Kaynak: Yukarıdaki T01–T05 eğitim kayıtları. Kodlama: UTF-8. Ayırıcı: virgül. Başlıklar: Kimlik,Not. Kimlik ve Not sütunları metin olarak alınacak. Ham metne hesaplama, karakter silme veya otomatik düzeltme uygulanmayacak. Hedef: türü korunmuş çalışma kitabı; yeniden açma kontrolü yapılacak. Beklenen: 5 benzersiz kimlik, 5 değişmemiş Not, Not sütununda 0 formül.
Kaynak dosyayı önce yalnızca metin gösteren bir düzenleyicide incelemek, sütun ayırıcısını ve tırnak yapısını görmeyi sağlar. Bu eğitimde bir dosya indirilmez veya Excel çalıştırılmaz; tablolar beklenen davranışı tarif eder. Kendi uygulamanızda gözlemi gerçekten yapıp sürümü ve açma yolunu yazmadan bu taslağı başarılı aktarım kaydı diye işaretlemeyin.
İçe aktarımı açık türlerle kurun
Microsoft’un Power Query Text/CSV açıklaması, ayırıcı seçimini ve otomatik tür algılamasını kapatıp sütunları metin olarak almayı anlatır. Excel’de Veri Al içindeki Metin/CSV yoluyla başlayıp veriyi dönüştürme adımında iki sütunu da Metin olarak denetleyebilirsiniz. Menülerin adı ve seçeneklerin yeri sürüme göre değişebilir; önemli olan yüklemeden önce tür kararının açık olmasıdır.Kaynak: Microsoft — Power Query Text/CSV
- Dosyaya çift tıklamak yerine tanımlı içe aktarma yolunu kullanın; UTF-8 ve virgül ayracını önizlemede doğrulayın.
- Otomatik tür algılamasını kapatın veya eklenmiş tür değiştirme adımlarını inceleyin. İki sütunun da Metin olduğunu açıkça görün.
- T01–T05 satırlarını hedefe yükleyin; kaynakla alan alan karşılaştırın. Dönüşümün metni hesaplamadığını sınayın.
- Çalışma kitabını kaydedip yeniden açın; aynı kontrolleri tekrar uygulayın. Yeniden CSV dışa aktarımı ayrı bir sınamadır.
Yalnızca hücre biçimini sonradan Metin yapmak, daha önce hesaplanmış bir değerin özgün ifadesini geri getirmez. Önceki bir aktarımda =1+1 kaybolduysa 2 hücresini yeniden biçimlendirmek yeterli değildir; korunmuş ham kaynaktan yeniden almak gerekir. Bu ayrım, yanlış dönüşümün ardından görünümü düzeltip veriyi kurtardığınızı sanmanızı önler.
T01–T05 sentetik tablosunu ve aktarım sözleşmesini kullan. Not alanlarını hesaplama veya düzeltme. Her satır için korunacak tam metni, beklenen hücre türünü ve kontrolü yaz. CSV tırnağını tür garantisi sayma. Çıktı: kimlik | ham metin | beklenen tür | doğrulama. Excel çalıştırdığını iddia etme; beklenen sonuç ile gerçek gözlem alanını ayrı tut. Yeniden kaydetme/açma sınamasını ekle.
Sıfır formül ile değişmemiş metni birlikte doğrulayın
Excel’in ISFORMULA işlevi, verilen hücrenin formül içerip içermediğini kontrol eder. Notlar B2:B6 aralığına yüklendiyse ayrı kontrol sütununda =ISFORMULA(B2) ifadesini aşağı uygulamak bu durumu sınar. İşlev adı burada İngilizcedir; yerel Excel adlandırmasını kullanmanız gerekebilir. Kontrol formülünün bulunduğu sütunla kontrol edilen Not sütununu sayımda karıştırmayın.Kaynak: Microsoft — ISFORMULA
| Kayıtlar | İçerik kontrolü | Not hücresinde ISFORMULA | Gözlem durumu |
|---|---|---|---|
| T01–T04 | Başlangıç işareti dahil ham ifadeyle aynı | FALSE | Uygulamada sınanacak |
| T05 | normal not aynen korunmuş | FALSE | Uygulamada sınanacak |
| Bütün kayıtlar | 5 kimlik, 5 not; değişiklik yok | 0 TRUE | Yeniden açınca tekrarlanacak |
Bu işlev metnin doğru korunduğunu tek başına söylemez. Formül olmayan yanlış bir metin de FALSE verir. Bu nedenle kontrol kaydına ham ve hedef alanı birlikte koyun; karakterlerin, boşlukların ve kimlik eşleşmesinin aynı kaldığını inceleyin. Görüntünün sütun darlığı yüzünden kısalmasıyla gerçek içeriğin kısalmasını da ayırın; hücrenin tamamını kontrol edin.
Küçük alıştırma: T06 için kaynak notu =3+4 olsun. Beklenen veri sayısı altı, metin notu sayısı altı ve Not sütunundaki formül sayısı yine sıfırdır. T06 hücresinde 7 görürseniz işlemi doğru yaptı diye kabul etmeyin. Ham ifadeye dönüp aktarım adımını inceleyin; diğer beş satırı doğru oldukları varsayımıyla kontrol dışında bırakmayın.
Son kayıt, kullanılan uygulama ve sürüm, içe aktarma ayarları, kaynak-hedef karşılaştırması ve yeniden açma gözlemini taşımalıdır. Böylece yapay zekânın ürettiği düzenli CSV ile gerçekten korunmuş veri arasındaki fark izlenebilir olur. Başka bir uygulamaya gönderirken de aynı sonucu beklemek yerine o aktarım yolunu kendi koşullarıyla yeniden sınayabilirsiniz.
Kaynaklar ve doğrulama
- OWASP — CSV Injection
Formül başlangıçları, tırnakların sınırı ve kaydetme/yeniden açmada değişebilen yorumlama.
Erişim ve kontrol: - Microsoft — Power Query Text/CSV
Ayırıcı ve tür algılama seçimi; otomatik algılamayı kapatıp metin türüyle içe aktarma.
Erişim ve kontrol: - Microsoft — ISFORMULA
Bir hücrenin formül içerip içermediğini sınama.
Erişim ve kontrol:
Üretken Yapay Zekâ ile İş Verimliliği
Üretken Yapay Zekâ ile İş Verimliliği programındaki veri çalışmalarına, aktarım öncesi ve sonrası aynı metni koruyan bu kontrol tablosuyla hazırlanabilirsiniz.
- Bireysel tarih henüz açıklanmadı