User can not read Stored Procedure Source
Uğur198217.09.2005 - 17:21:15
Merhaba arkadaşlar...

User can not read Stored Procedure Source

Bu komutu bir Firebird vt'nin Metadata'sında gördüm..

Görüldüğü üzere 'Kullanıcı Stored Procedure kaynak kodunu okuyamaz' diyor.

..Yani Yazdığımız SP'yi gizleyebiliyoruz..Bu komutun kullanımı hakkında bilgi sahibi olan var mı?

Ya da Firebird de böyle bir şey var mı? yok sa ben mi yanlış gördüm...:)

İnterbase Pdf'lerine + Google 'a baktım bir şey bulamadım...

teşekkürler...
 
rsimsek17.09.2005 - 17:30:14
GRANT komutu ile tablolara olduğu erişim yetkisi verilebildiği gibi Stored Procedure'lere de Execute (çalıştırma) yetkisi verilebilir.. Kaynak kodu gizleme işini doğrusu bilemiyorum Wink
 
t-hex17.09.2005 - 18:34:17
Merhaba,

Aslında bu işlem çok kolay çünkü stored procedure VT'ye kaydedildikten sonra source'unda ne yazdığı önemli değil. Yani source olmasa bile yine çalışmaya devam eder. O yüzden :


update rdb$procedures set rdb$procedure_source='User cannot see stored procedure source';


komutunu çalıştırdıktan sonra stored procedure kodu istenen şeyle değiştirilebilir, hatta silinebilir. Sanırım o VT'de yapılanda buna benzer bir işlem.
 
Uğur198219.09.2005 - 15:49:23
merhaba...

update rdb$procedures set rdb$procedure_source='User cannot see stored procedure source';


Evet yukarıdaki kodla SP yi gizleyebiliyoruz..

Bir de gizlediğim SP'yi görmek istiyorum..Bunu nasıl yapabiliriz ?

Ayrıca bu yapılabiliyorsa Table,Trigger vs.lerde gizlenebilmesi lazım... Idea

Not : Vt'nizi yedeklemeden denemeyin. :)

teşekkür ederim...
 
t-hex19.09.2005 - 17:00:15
Merhaba,

Şöyle bir eşleme yaparsak sanırım doğru olur

Delphi Compiler = Firebird
Pas Dosyası = Strored Procedure Source
DCU = BLR

Delphide bir pas dosyasını derlediğinizde aynı ada sahip bir DCU dosyası oluşturulur. Firebirddede siz bir stored procedure oluşturduğunuzda stored procedure'e ait bir BLR kodu eklenir. Siz delphide Pas dosyasını silseniz bile dcu elinizdeyse projeyi derleyebilirsiniz. Aynı şekilde VT'de BLR varsa stored procedure çalıştırlabilir. SP'yi çalıştırdığınızda Source' bakılıp bir daha derlenmez (performans arttırmak için) dolayısıyla siz source'u silince bir sorun yok. Ama bunu geri getiremezsiniz, çünkü sildiniz.

Tablelarda böyle birşey yapılamaz çünkü VT bütünlüğü bozulur. Table gizlenemez silinir.

Trigglarda ise böyle bir yöntem çalışır heralde, denemedim bilmiyorum ama Firebird'ün trigger source diye bir alanda yazılan kodu tuttuğunu biliyorum, eğer SP mantığıyla işleniyorsa trigger source'da rahatça silinir. Tabi bu silme işlemini çalıştığınız değil dağıttığınız VT'de yapmanız lazım.

Ayrıca emin olmadığım bir nokta ise, Backup/restore işlemlerinde sorun yaratıp yaratmayacağı.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com