Firebird; ejderhanın anatomisi

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Firebird; ejderhanın anatomisi

Mesaj gönderen Terminator »

Merhaba sevgili ülkem insanı.
Uzun yıllardır Interbase'i ülkemde yaymak için münferit çabalarım ve arzularım oldu... ama istedim ki, daha yaygın bişeyler yapayım.
çünkü yıllardır orjinal FB sitesinde benden başka yazan-konuşan-bilinen bir türk göremedim. ibrahim bulut ve mustafa yılmaz gibi çok nadiren yardım maili yazan 2-3 kişi hariç. alemin en zenginleri open source, free-shared yazılımlara hücum ederken benim halkım, devletim nedense oracle-mssql-db2 diye tutturabiliyor, herkes gider mersine, bizim millet tersine... ya da ayranı yok içmeye, tahterevanla gider BEEEEP...
tamam kuri korkma, pis kelimeyi otosansürledim! :P

Neyse bu kısa serzenişten sonra konuya geçeyim FB'ün temel işletim tarzını anlatayım, daha sonra başka detaylara da girerim, ilhami gelirse..

işte bir uygulama için gerekenler:
sizin kodunuz= SK
seçtiğinizcompenent=SC (IBX,FIBplus,Zeos,IBObjects, vs)
FB Client interface=FC (Fbclient.dll, Gds32.dll vs)
FB server=FB (FBserver.exe, inet_server.exe vs)
dil sürücüleri= DL ( intl\fbintl.dll )
kullanıcı fonksiyonları =UDF (udf\*.dll)
msvcrt.dll

client cephesi Server cephesi
---------------- ----------------------------------
SK->SC->FC----------> FB+MSVCRT.DLL +DL +UDF

connection string,
serveradi:dbalias
ya da
serveradi/port:dbalias şeklinde olabilir.

aliaslar alias.conf dosyasında verilir.
güvenlik ve gizlilik sizin için önemli değilse
alias yerine gerçek pathi de verebilirsiniz:
localhost:d:\data\hokuspokus.fdb

bu saydıklarım dışındaki dosyalar pasiftir, siz çalıştırmadıkça çalışmaz.
yani FB ün çalışması için 2-3 dosya yeterlidir aslında. gerisi döküman,örnek, tool vs dir.

embedded kullanırsanız,

sizin exe FB sistemi
---------- ---------------------------------
SK->SC------>FC+MSVCRT.DLL +DL + UDF

FC: özel derlenmiş FB kodu, fbclient.dll ya da gds32.dll ismini alır.

hiçbir dil seti ve sıralaması kullanmıyorsanız, yani orjinal ingilizce kullanacaksanız fbintl.dll nin bi fonksiyonu kalmaz
hiçbir udf tanıtmadıysanız udf dll leri de boşta durur.
yani server sistemde sade fbserver.exe ve MS in VC runtime kütüphanesi çalışır.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

abi su sifreleme işi canımı sıkıyor. masterkey olayı cozulmedi bir turlu baska pc ye kur kabak gibi butun sp ler ve datalar ortada nedir yormunuz.
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

database dosyasını kopyaladıktan sonra bütün sistemleri kabak gibi çözersin. güvenliğin yolu bu değil.
Firebirdün çalıştığı serveri dosya paylaşımına açmayacaksın ve fiziksel olarak koruyacaksın. kullanıcılar veritabanına sadece TCP/IP portu üzerinden alias kullanarak erişebilecek. kullanıcılar bütün database i görmesin diyorsan onlara kullanıcı açıp grand ve revokelarla yetki tanımı yapman lazım. stored procedurelerin vs görünmesin istiyorsan bunların sourcelarını tutan fieldlara kolayca =NULL ya da ='yürrü git işineee!' ataması yaparak silebilirsin. BLR olarak çalışmaya devam edecektir, soruceun bi fonksiyonu yok metadata export dışında.
güvenlik sistemi 2.0 da daha iyi, vulcanda ise daha da iyi.
server taraflı verileri şifreleme olayı da yapılcak ama
unutma, herhangi bir kullanıcıyı networkde dinleyip şifreyi kapanlar yine girer. switch kullanacaksın yani fiziksel altyapın da sağlam olacak.
vs vs..
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

benim derdim benim şifremi bilmeyenin ibconsol ve ya IBexpert gibi programlamlarla store procedure lerimi ve table icindeki bilgilerimi göremesini engelemek. cunku server i ben kurmuyorum ben sonuncda bir cd veriyorum adam istedigi yere kuruyor programımı ?
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

sen öyle CD ile dağıtırsan, nasıl saklayabileceksin databasei?
yani db yi şifrelesen bile bi şekile kurarken ya da çalıştırırken şifreyi göndererek açman lazım ki kurulum çalışsın, e bunu CD yi alıp yapabilen herkes sistemini çözer. bunun FB le bir ilgisi de yok. nasıl bir güvenliğin
işine yarayacağını düşünüyorsun???
millet oracle,MSSQL,access vs ne varsa browse ediyor çözüyor.
dediğim gibi, SP lerim, triggerlerim görünmesin diyorsan sistem dosyalarından source textlerini NULL yap öyle dağıt.
orjinal source kod olmadan sen bile modifikasyon yapamazsın artık.
BLR yi tekrar source a çevirmek fena kasar, kimse uğraşmaz o işle.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

bu en basit paradoxda bile vardı abi bilmeyen sifreyi acamıyordu yada access da . biz program icinden username ve password yazıp istediğimizi yapıyorduk.

Ama anlatıkların cok mantıklı illaki cozulebilir ama cok iyi bilenler cozer onlarında ne isine yaararki .
sistem dosyalarından source textlerini NULL yap öyle dağıt
bide bunu acsan nasıl oluyor diye

tsk ederim
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

çok bilmeyenin sistemini çözüp napmasından korkuyorsun??? ;)

rdb$procedures tablosunda rdb$procedure_source blob sahası.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

şimdi ben bu blobumu silicem anlamdımki abi.

sirketim.fdb diye bir databasem var ve şirket.exe diye bir exem var

fb yi kuruyom abi sonra database aciyorum o kadar.

şimdi ben ıbexipert denmi bulacam bu rdb$procedures tablosunda rdb$procedure_source blob sahasını

cok bilmeyenler alıp splerimi kopyalar ve database girip bilgi siler sonra der uyduruk progrma yapmıssın (bu basıma geldi)
highmemo

Re: Firebird; ejderhanın anatomisi

Mesaj gönderen highmemo »

Terminator yazdı:Merhaba sevgili ülkem insanı.
Uzun yıllardır Interbase'i ülkemde yaymak için münferit çabalarım ve arzularım oldu... ama istedim ki, daha yaygın bişeyler yapayım.
çünkü yıllardır orjinal FB sitesinde benden başka yazan-konuşan-bilinen bir türk göremedim.
Daha neler!

Ne yani sadece orası mı var. Tanımak için öğrenmek için ordamı
olmamız gerekiyordu. Orda değilsek öğrenemeyecek miydik.
Halla halla.

Yanlış ise düzeltin,
FireBird den önce Interbase vardı.
FireBird IB nin Open Source üzerinden geliştirilmedi mi?.

Dikkat edelim, hızlı koşmayalım
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

@highmemo projede yer alan Türk göremediğini söylemiş :?: niye alındınızki mevzuya :) kullanan demiyor dikkali okuyun, projede yer alan diyor. gereksiz tartışmaya girmeyin lütfen. :!:
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

musti yazdı:bu en basit paradoxda bile vardı
malesef yanlış
paradoxta şifre isteyen bir tablo için cupcdvum girmeniz yeterli oluyor. herşey önünüzde. yani böyle bir açık kapısı vardı paradoxun.
access te ise şifre basit bir xor ile kırılabiliyor.

fb verilerimi hızlı bir şekilde getirsin götürsün bana yeter
güvenlik kısmını ben kendim çözerim :)


procedurlerin textini gizleme olayı ise şu şekilde

istediğiniz bir procedurun kodunu görmek

Kod: Tümünü seç

select * from RDB$PROCEDURES r
where r.rdb$procedure_name='Prosedur Adi'
kodu gizlemek

Kod: Tümünü seç

update RDB$PROCEDURES r set r.rdb$procedure_source=null
where r.rdb$procedure_source='Prosedur Adi'
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

highmemo,
sen biraz geçmişte kalmışın annem be, high memo olayı 90 başlarında bitti. herkes artık flat memoya geçti. eskidendi highmemo, uppermemo. anlattırma bana intel mimarisini.
Interbase kullanıyormuşun aferin, kullan, ama FB interbase değil daha
gelişmiş bir sistem.
FB ü kullanıyorsan da nerden takipediyorsun bilmiyorum ama suyunun suyu oldugu ve dedikodudan mütevellit oldugu aşikar. Türkiyede FB ü
kullananlar onu ya paradox gibi ya btrieve gibi ya da mssql, oracle gibi kullanmaya çalışıyor gördüğüm bu. MGA bilinci kimsede yok.
FB ün offical siteleri, asıl geliştiren ekip ve 30 senelik sahibi dururken
sen merdivenaltında geliştirdiğin tekerle mi katılacaksın F1 e?

olayı sen ben sürtüşmesine çevirme, burda ben kendimi övmek ya da
tatmin etmek için yokum, bunlara ihtiyacım olmadığını hiçbir zaman
bunlarla ilgilenmediğimi beni tanıyanlar benden iyi bilir! sazanlık yapma!
ha beni burda istemiyorsan, öğrendiğin ve öğreneceğin bişey yoksa onu söyle, bana eyvallah derim sizlerle vakit kaybetmem, gönülsüz işten nefret ederim! Onlarca askeri yönetip terörle mücadele etmiş biri olarak da, çoluk çocuk takımıyla didişip kendimi üzecek değilim.

Ne acı değil mi... batı ve insanlık imeceyi, paylaşmayı, demokrasiyi, cinsiyet eşitliğini(türkçede feminene maskülene dair hiçbir takı yoktur bile) türklerden öğrendi, değişti ama, türkler artık buna sahip değil, eski batıya-tembel ve küstah ortadoğuya benzedi.
paylaşmak: karşılıklı pay almak ve pay vermektir. sadece almak ya da vermek değil. burda bulunuyorum çünkü ben de sizlerden bişeyler öğrenebileceğimi düşündüm, bunun olamayacağını anladığım anda beni burda kimse tutamaz ve geri de getiremez. siz olduğunuz gibi mutlu devam edersiniz , ben de kendi tarzımla. birbirimize muhtaç değiliz.
birkaç sene önce donanımhaber grubunda da paylaşayım dedim ama
üzüm yemek derdinde olmadıklarını gördüm. amacınız bağcıyı dövmekse
dayak yemeyi de göze alıyor olmalısınız.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

sadettinpolat abi benim demek istediğim her paradox u acan bunu bilmiyor oda yetiyor eğer adam o kadar iyise yada bir yerden o dediginiz paradox şifresini bulmuş ise yapacak bir şey yok zaten . Ama Interbase de boyle bir ugrasa gerek kalmadan ıbconcole acınca hemen hersey ondunde bunun sıkıntısını yaşıyoruz.

Vermiş oldugunu sp saklama iyi bir olay ama

Kod: Tümünü seç

update RDB$PROCEDURES r set r.rdb$procedure_source=null 
where r.rdb$procedure_source='Prosedur Adi'
kodunu bilende sp leri acar.

Yani amac database kendine has bir admin şifresi olmalı. bunu bilmeyen de acamamalı.

tsk ederim.
[/quote]
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

musti yazdı: Vermiş oldugunu sp saklama iyi bir olay ama

Kod: Tümünü seç

update RDB$PROCEDURES r set r.rdb$procedure_source=null 
where r.rdb$procedure_source='Prosedur Adi'
kodunu bilende sp leri acar.
olmayan kodu nasil acacak ?
En son sadettinpolat tarafından 16 Ara 2005 11:03 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

bu kod sp nin içeriğini değil adını saklıyor o zaman o ad kimse bilmediği icin her hangi bir yerde store procedur list olmadığı acamayacak yani

güzeel

Bunu altın öğütler kısmına koydum abi sagol

:idea:

tsk ederim

ah keskem bir de tablelar icin boyle olsa yada create delete olmasa[/code]
En son musti tarafından 16 Ara 2005 11:13 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Cevapla