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ı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

musti yazdı:ben yanlıs anladım herhalde abi
bu kod sp nin içeriğini değil adını saklıyor
adını saklamıyor

ilgili tabloda

Kod: Tümünü seç

sp adi            sp_kodu                  sp_derlenmis_kodu
xxx               create procedure       011100011101000100
şeklinde tutuluyor. sen bi prosedur çağırdığın zaman fb derlenmiş kodu çağırıp işini hallediyor. yani sp_kodu nun çalışmaya herhangi bir etkisi yok. bizde bu yüzden kimse ne yazdığımızı görmesin diye bu alana null atıyoruz. bu kadar.
"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 »

denedim abi

Kod: Tümünü seç

/*******************************************************************************
The next statement causes the following error: 

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
feature is not supported.
data operation not supported.
*******************************************************************************/
update RDB$PROCEDURES r set r.rdb$procedure_source=null 
where r.rdb$procedure_source='BILANCO_A_PROCEDURE';
,

mesajını aldım ama sanırım bende bir hata vardır bulamadı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 »

musti:
işlemin hatalı. update komutunu dikkatli yaz.
where satırında yaptığın mantıklı mı sence?
komutlarını telaşla ve dikkatsiz yazarsan çok canın yanar SQL de.
bak doğrusunu yazıvermedim dikkat edersen, sana bırakıyorum. kendin düzeltirsen daha değerli ve kalıcı olur.

haymemo:
benle muhatap olmamak gibi bir hakkın var! ister oku ister okuma
ister inan ister inanma, hiç umrumda değilsin.
ama kalkıp yazdığım yazılar hakkında hah demin iyiydin de şimdi batırdın gibi triplere sakın girme! inan yanıbaşımda bunu yapan biri olsan, duvara yapıştırırdım seni! çoluk çocuk olmaman da beni bağlamaz istersen 80 ol!
kimse bana hakaret edemez! ben sana sadece senin dilinle yorum yaptım kendini gör diye. uzatma, sevmediysen tarzımı ve tecrübelerimi, benle ilgili topiclere girme, okuma, uzak dur. söylediklerimi bilimsel olarak çürütecek delillerin varsa durma yaz, teknik olarak ispatla.
kişisel saldırılarla değil, kabiliyetinle hürmet kazan.
Benim tarzım budur arkadaşım, eğlenceli paylaşım, eğitim ve öğretim benim temel prensibimdir, bu benim bir zayıflığım değil bilinçli tercihim ve de suistimal ettirmem! bir kahkaha atarak öğrenilen bir bilgi asla unutulmaz! trawmatik her türlü olay akılda kalıcıdr. eğlence, şiddetten daha güzeldir, bu konuda forumla çelişiyorsam açıklayın da, birbirimize katlanmak zorunda kalmayalım.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hayır sadece adını verdiğin procedure'ün kaynak kodunu siliyor, derlenmiş BLR hali çalışır durumda kalıyor. Fakat değişiklik yapman gerektiğinde iğne ile kuyu kazmaya başlayacaksın :wink:

Doğrusu paronayak seviyesinde güvenlik korkusu varsa ilk iş sunucuyu çelik kasaya kilitleyip kesinlikle internete açmayacaksın, en önemlisi de bilinen veritabanlarıni değil de kendi yazdığın ve sadece kendin bildiğin bir veritabanı motorunu kullanacaksın :lol:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

korkumdan yazamıyorum abi şimdi terminator laf sokacak kızacak diye.

Sessizce yazıyorum :




peki

abi bu kadar guclu database bu kadar savunmasız olur mu? sonucda biz program yapıp dağıtıyoruz. baskalarının eline kodlarımın gecmesini istemem. adamın biri alsın benim fdb götürsün kendi makinesine mıncıklasın. yada adam acsın ıbconsole baglansın sonra delete from desin yada update ne olur benim guvenliğim .
yoo yyoo ben buna dayanamam bir yanlıs var gibi.
saygılar
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

musti,
yanlışın şurda:
ciddi ve gizli bir proje CD ile dağıtılıp serbestçe kurulmaz.
O servere DB dosyası özel konur, servera kimse erişemez. budur güvenlik. yok bu değildir diyorsan ve bildiğin kesin bir çözüm varsa açıkla, konuşalım. hangi db sistemiolursa olsun açıkta dağıtılıyorsa, kolayca deşifre edilir. işi bilmeyen bunu yapmaya çalışmaz zaten, bilen yapar, bilene de sıradan uyduruk çözümlerle engel olamazsın.
anlaşılmaz bir DB yapısı, yanlış isimlendirmeler kullansan, bu sefer de sen kullanamazsın, kendine pranga vurmuş olursun.
korkma, senin veritabanını kıracak, kırmak isteyecek kadar tecrübeli biri,
senin yaptıgın tasarımı da yapabilir. esıl güvenlik yapının kendisinden çok verilerin korunmasıdır.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

sadece server olarak dusunme abi, tek kullanıcılı da var. zaten server icin tek kullanıcı icin ayrı bir database kullanmıyorsuz ki.

ama cd ile dağıtıyoruz sonuc olarak. en azından sadece benim yapıtığım programda acılsmasını isterim database min.

Örneğin logo (bence berbat bir program ama ) gibi programlar dağıtılıyor abi


tsk ler
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

aynı aşamadan herkes geçiyor galiba :D
bende 2 yıl önce bu ne biçim db kardeşim bir şifreleme yapmıyor derken zamanla gerçeklerle yüzleştim :) hatta forumda gördüğüm kadarıylada herkes bu aşamadan geçmiş :) meraketmeyin atlatırsınız yakında :D

(not : yanlış anlamayın anlatmak istediğim, güvenliği bu şekilde sağlayamazsınız. sadece 0-12 lamer ler için birşey yapmış olursunuz)
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

logo, link, netsis gibi (hiçbirini bilmem) programlar yapısını saklamaz tam tersi yapılarını herkes öğrensin kullansın alışsın ister. veri aktaramazlarsa, diğer sistem uygulamalarıyla veri alışverişi yapamzlarsa işleri daha zor.
senin söylediğin standalone uygulamalarda güvenlik recep beyin dediği gibi genel amaçlı kaynaklarla sağlanamaz. projen yeterince gizli ve önemliyse, değecekse, özel keyfi karmaşık mekanizmalar ile korunması gerekir. standart araçlar kullanırsan, inan bilen biri programı debug edip anında şifreni ve yapını çözer. öyle ya, senin kullanıcın o bilgilere erişebiliyorsa, uygulaman erişebiliyorsa herkes erişir.
ben genelde tasarımımın doğrudan alınıp taklit edilmesini önlemek için,
herşeyi ortada bırakırım. meşhur bir adamın sözü vardır: "en çok saklamak istediğiniz şeyleri ortada bırakın" der.
tasarımımda ilginç ve alışılmadık mantık mekanizmaları kullandığımda
hiçkimse doğrudan yapıyı kullanamaz, arapsaçına çevirir. yani adamın ulaşamayacağı bir kalite-teknoloji düzeyine çıkarmak lazım işleyişi.
ee onu çözebiliyorsa, kendi tasarlamak yerine benimkine kafayı taktıysa elleme kullansın, aşırmayı seviyor demek ki, kendine özgüveni yanlış gelişmiş, kendi sistemine enerji harcamak yerine başkasınınki için herşeyi yapıyor demek ki.. çekirge kaç defa sıçrar, nereye kadar sıçrar görsün.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

tamam dogrusunuz amma
bence bu bir eksikliktir ve guvenli değildir benim firebird u kimsenin acmamaması lazim.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

hehe, musti, zip kullan ve 100-150 karakterlide şifre kullan. ha genede söliim uda kırlıyo sadece 3-5 ay sürer heralde.
Şifreleme Mege de söylemiş, o zamanlarda bende düşündüm 2 haftada tırmaladık. Ve senin düşündüğünü düşündük. :D yani okadar şey yap, lan bari SYSDBA-masterkey yi db ye göm bari bunu değiştireyim derdim :P.
Şimdi ise walla benim yazdığım programı kırıp kullansınlar, yapanları anlından öperim :D:D:D Kimse beceremez diye değil ha, demek ki iyi program yazmışım ve adamda emek verip bunu kullanmaya çalışıyor. Diğer taraftanda nasılsa o bana gelecek birgün ;) programın yetmediği yer olucak. bilgileri bozulacak vs vs. hele bu proram eli ayağı olduktan sonra olursa ne istersen yapacak demektir.
Birde şuda var. Yazdığın SP lerden yaptıklarını yani hazıra konarlarsa, ben okadar uraştım yaptım adam benden copy-paste yaparsa diyede takılıyor olabilirsin. Bununda manevi tarafından haz alıcaksın. Bak biz burda bildiklerimizi paylaşıyoruz. daha önceleri anlattım. ben sadece db yi create etmek için bi densizin arkasında abartısız söylüyorum yani kelimenin tam anlamıyla 1(bir)hafta dolandım. ve lütfettide 1 kere gösterdi okadar. bense burda epey bir arkadaşa balık tutmasını gösterdim ve Allah nasip edersede göstermeye devam edicem. 1milyon YTL ye program bile satmaktansa abi sağol ya sayende bir şey öğrendim diyen birisini hiç tereddütsüz tercih ederim.
Şifre konusuna dönersekte. Güvenlik, yani senin yazdığın SP vs kodların güvenliği ise trade mark la hukuki olarak korumaya al ve dert etme, kodun kullanılıyorsa iyi bir kodcu programcı olmuşsun demektir ;) maalesef taktir edilme böyle oluyo :P db deki bilgilerin güvenliği ise, kendi adıma söyliyeyim müşteriye çaldırma çaldırtırsanda banane diyorum açıkçası :D madem bilgiler çok değerli bir sistemci bul ve server ı kilik altında tut. alias kullanarak share e gerek kalmıyor dolayısıyla benim server a erişmem vs gerekmiyor. bir port yetiyor. E ozamanda konu beni geçiyor :)

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

veritabanını şifrelersen, uygulaman bağlanabilmek için bu şifreyi göndermek zorunda. öncelikle veritabanıyla secure connection, gelişmiş bir authantication gerekiyor.
vulcanda bu yapıldı. veritabanını şifreleme de yapılacak.
bütün bunlar çok zor değil bundan sonra. şimdiye kadar eğreti bir yöntemle yapılmadı çünkü daha öncelikli işlemler varken buna izin vermezler. FB geliştiricileri ve kullanıcıları idealist insanlardır.

ama bir veritabanını şifrelemek demek, ek yük demektir. her bir byteın özel işleme sokulması hesap kitap demektir. yani performansa etkisi olacaktır ama, tek kullanıcı bir sistemde bunun pek etkisi anlaşılmaz. yalnız db şifresini uygulamanın içine çok özel gömmelisin, yoksa basit bir debug işlemiyle bulunur. çok iyi saklasan da bulur uzman biri.
şifreyi sen kaybedersen de, deneme yanılmayla yıllarca süren bir işleme sokman lazım. veritabanı düzeyindeki hiçbir şifre saklanamaz. o zaman
yine nasrettin hocanın türbesine döner. hele bir de open source ise, kapısı bile yok demektir. Anliycan senin istediğin şey dünyada yok. var işte şu sistem diyebileceğin bir sistem olsa duyardık çünkü FB kullanıcılarının hemen hepsi aynı zamanda birçok VT sisteminin uzmanı. Diğer sistemleri
iş icabı kullanıyorlar, FB ise ortak aşk. herkes bir an önce bazı eksikliklerin tamamlanmasını ve diğer sistemleri terketmeyi bekliyor.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

freeaman25 abi tam ve net olarak dediğiniz gibi.
Zaten sizin gibi insanlar sayesin de programcılık gelişiyor allah szden razı olsun.

Terminator, demekki bir eksiklik ki 2.0 da şifre koyuyorlar.
Ama soyledigin bir sey dikkatimi cekti sifreleme lursa yavaslama olur olayı uzdu beni.
Ya benim anlamadıgım abi masterkeyi neden koymuslar o zaman. yani direk girilse idi o zaman hem sen gel sysdba ve masterkeyi bilmezsen giremezsin de hemde sifre koymuyorum de tezat gibi. bizimistediğimiz masterkeyi ben değiştirdi isem bunu databesem de tutsun o şifre ile gireyim.

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 »

masterkey allahın emri değil, sadece defaut kuruluş şifresi.
her database neden kendi içinde neden saklamıyor kullanıcı şifrelerine sorusuna gelince...

Firebirdün geliştirildiği dönemi iyi bilmelisin. 70-80li yıllarda teknoloji bu hızda değildi.hatta 90 başlarında bile bir ürün yıllarca kullanılırdı. PC ler personel computerler yaygın değildi. iş bilgisayarları timesahring yapan büyük ve orta ölçekli mainframeler middleframelerdi. FB Unix-Xenix-Cry-s370 gibi 10 civarında büyük sistemden taşınmıştır PC ye.
20 yılda çok şey değişti. değişmeyen borlandın beceriksizlikleri ve Interbasein 10 yıl kadar ihmal edildiğidir. hiçbir ihmal edilen kodu yenilenmeyen sistem bu kadar dayanamaz, kullanıcısı kalmaz. FB kendi küllerinden yeniden doğdu, onun için adı Firebird.
Vulcanda, her db nin kendi sistem dosyaları var, FB böyle kalmayacak,
tam tersi diğerlerinin yapamayacağı bir hızda gelişecek.
Senin yaptıkların ne derece önemli ya da kaç kişi senin kodlarıın peşinde bilmiyorum ama, seninkinden çok daha profesyonelce ve ciddi uygulama dağıtanlar var FB de. ayrıca FB kullanıyorsan bencil olma! paylaş, bizim aramızda bencillik yoktur. başka bir sistem ise senin tasarımını çalamaz korkma, FB le yapılmış bir tasarımı diğer sistemler zor çalıştırır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

musti yazdı:freeaman25 abi tam ve net olarak dediğiniz gibi.
@musti kardeş dikatli ol bak zagor la terminator arasındasın.. gerçi farkında olduğundan dilin sürçmeye başladı bile :lol: Zagor un adını yanlış telafuz ediyorsun :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla