
UBF Encoder, Geliştirme Süreci ve Yetenekleri
UBF Encoder PHP şifreleme yada PHP kod şifreleme adları ile bilinen bir ihtiyacı karşılamak üzere ortaya çıkmıştır. Öncelikle UBF Encoder projemizin geliştirme süreci ile ilgili biraczık bilgi verelim. UBFEncoder projesi 2023 eylül ayı itibari ile Sakarya Teknokent bünyesinde ar-ge projesi olarak başladı. Toplamda 8 aylık bir süre içinde projemizi tamamladık. Ancak ticarileşme süreci için gerek altyapı çalışmaları, test çalışmaları, marka başvuru süreçleri derken 2024 kasım ayında tamamlanmış bir ürün olarak duyurusunu yapmış bulunmaktayız.
UBF Soft olarak daha önceden kurumsal deneyimlerimiz ve hafızamızla özgün şifreleme algoritmaları üzerine çalışmalar yapmış ve bunu birkaç projede deneyimlemiştik. Bu da bizde kod şifreleme adı altında bir başka konuya çözüm üretebileceğimiz inancını oluşturdu. Bu iş fikrinden hareketle tamamı 14 ay süren bir geliştirme sürecinden sonra nihayet UBF Encoder'ın ilk versiyonu ile karşınızdayız.
Projemiz ile şifreleme ve çözümleme algoritmaları özgün olan bir ürün geliştirmek istemiştik. Tüm bu süreç sonunda UBF Encoder kendisine özgü birkaç özellik ile benzerlerinden birazcık farklı yeteneklere sahip bir ürün olarak geliştirme sürecini başarıyla tamamladı. Bu makaledeki amacımız ise özellikleri ile UBF Encoder'i tanıtmak üzerine olacaktır.
UBF Encoder php kaynak dosyalarını şifrelerken kendine özgü algoritmalar kullanmaktadır. Her hangi bir standart veya satın alınan bir kütüphane kullanmamaktadır. UBF Encoder şifrelemenin yanı sıra kod küçültme özelliğine de sahiptir. Dilerseniz php kaynak kodlarınızı sadece minify(küçültme) yapabilirsiniz.
UBF Encoder ile projenizi şifrelerken filtreler uygulayabilirsiniz. Bu filtreler ile projelerinizin bazı çalışma koşullarını oluşturabilirsiniz. Bu filtre özelliklerini anlatırken, bazı örneklemeler üzerinden anlatım yaparak ilgili özelliğin daha iyi anlaşılmasına gayret edeceğiz. UBF Encoder'a ait yetenekleri sırasıyla inceleyelim.
1 - Alan adı üzerine projeyi koşullandırmak.
Projenizin sadece test.com domaini altında çalışmasını istiyorsanız veya *.test.com ile tüm sub domainlerde çalışmasını koşullandırabilirsiniz. Birden fazla çalışmasını istediğiniz domain ekleyebilirsiniz. Bu tanımlama ile projeniz artık belirttiğiniz domainler veya subdomainlerde çalışacaktır. Projeniz şifreli olarak taşınsa bile sizin istemediğiniz bir başka domain veya domainlerde çalışmasını engellemiş olursunuz.
2 - Mac Adress üzerinden projenizi koşullandırmak
Yine sunucu donanımınız olan Ethernet Mac adresini kullanarak projenizin sadece ilgili mac adresine sahip sunucuda çalışmasını sağlayabilirsiniz. Projeniz sunucu değiştiğinde çalışamaz hale gelecektir. Yine birden fazla mac adres ekleyerek belirli sunucu grubunda çalışabilirlik sağlayabilirsiniz.
3 - IP4 / IP6 adresleri üzerinden projenizi koşullandırmak
IP4 veya IP6 olarak sunucu IP Adres veya Adreslerini girerek projenizi koşullandırabilirsiniz. Çok yaygın kullanılmayan bir yöntem olsada yine de tercih edebilirsiniz. Ancak Sunucunuzun dış IP numarasını bilmesi için web sunucularında ilgili ip ile ilgili config tanımlamalarını yapmalısınız. PHP environment tanımlamalarında SERVER_ADDR ve LOCAL_ADDR bilgilerinin doldurulması bu denetimin yapılabilmesi için gereklidir.
4 - Tarih Bazında Projenize Yaşam Süresi Belirleme
Yazmış olduğunuz bir php projesini müşterinizin sunucusuna kurmak istiyorsunuz ve 1 aylık bir deneme kullanımı ile müşterinizin deneme versiyonu olarak kullanmasını istiyorsanız projenize geçerlilik tarihi vererek ilgili zamana kadar çalış diyebilirsiniz. Bir başka örnek yıllık kullanım olabilir, böylece yıllık lisans sunmuş gibi müşterinize yazılımı teslim edebilirsiniz.
4 - HTTPS ile çalışmaya zorlama
Projenizin sadece https çağrılarında çalışmasını istiyorsanız bunu şifreleme yaparken belirleyebilirsiniz. Projelerin güvenli olmayan bağlantı ile çağrılmasını engelleyebilirsiniz.
5 - Proje bazında Anahtar Zinciri ile koruma
Bu konu aslında birazcık karmaşık olabilir. Bazen projelerde kullandığımız kütüphane niteliğinde php dosyalarımız olabilir. Bunlar hemen her projede araç gereç ve altyapı açısından değiştirmeden kullandığımız hazır class veya fonksiyon setleridir. Şifrelenmiş bir php dosyası eğerki başkaca filtreler uygulanmamışsa. Şifrelenmiş haliyle başka sunuculara taşınabilir ve bu php dosyaları şifrelide olsa include edilerek içerisindeki fonksiyonlar bilinerek veya tahmin edilerek kullanılabilir. İşte tam da burada bir projeyi şifrelerken özel bir anahtar ile şifrelerseniz, projenizi oluşturan tüm php dosyaları aynı özel anahtara sahip olacağından projenin herhangi bir php dosyası başka projeye dahil edilse veya taşınsa dahi şifrelendiği projeden farklı özel anahtara dahil olduğu için çalışmayacaktır. Bu özellik ekstra bir güvenlik olarak php içindeki include ve require çağrımlarının tamamında özel anahtar doğrulaması yapılmasını sağlamaktadır.
6 - Sürüm Bağımsız Şifreleme
Sürüm bağımsız şifreleme ifadesindeki sürüm kelimesinden php sürümlerini kastetmekteyiz. UBF Encoder şifreleme yazılımı size projenizi şifrelerken php versiyonu seçtirmez. Sebebi ise şifreleme tekniği ile alakalı bir durumdur. UBF Encoder'in sunucularda çalışan php eklentisi ise sürüm odaklıdır. Hangi PHP versiyonu varsa, kaç bitlik bir derlemeye sahipse (x86,x64) , ThreadSafe ve NonThreadSafe ise, ona göre yüklenmelidir. UBFEncoder bu anlamda hem Linux hem Windows sunucularda PHP 7.4 versiyonu ve sonrasını desteklemektedir. Tüm bu uzun anlatımdan sonra aslında değinmek istediğimiz konuyu şu cümleyle ifade edebiliriz. Önceden şifrelediğiniz bir projeyi sunucuda php versiyonu yükselttiğinizde tekrar şifrelemenize gerek yoktur. Bu bir beklentinin dışında yeni bir yaklaşımdır. Bazen projelerinizde hiç değişiklik yapmadan yeni versiyona geçersiniz ve herhangi bir yeni versiyon sorunu yaşamazsınız. Yazmış olduğunuz projenizin yeni versiyona aykırı bir durumu yoksa neden tekrar şifreleme ihtiyacınız ve bunu sunucuya tekrar yükleme ihtiyacınız olsun.
Evet yukardaki bütün bu özellikleri UBF Encoder ile kullanabilirsiniz. Bununla ilgili daha fazla gerekli dökümanlara ve açıklamalara www.ubfencoder.com sitesinden ulaşabilir, kurulum ve kullanım için gerekli döküman ve anlatımları inceleyebilirsiniz.
UBF Encoder ticari anlamda global ölçekte pazarlanabilir bir ürün olarak tasarlandı. UBF Soft olarak geliştirme ve tanıtım çalışmalarına devam etmekteyiz. Pazarlama açısından ve yazılım geliştiricilerin ihtiyaçları doğrultusunda planlanmış çalışmalarımız devam etmektedir. Yurtiçi ve yurt dışı açısından fiyat politikamız ile UBF Encoder yıllık kullanım için sabit fiyat üzerinden satışa sunulmuştur. UBF Encoder lisansı satın aldığınızda tüm özelliklerini kullanabilirsiniz. Bunun yanı sıra UBF Encoder'ın her yeni çıkacak özelliğinden de faydalanabilirsiniz. Her bir yeteneği için ayrı ayrı ek ücret talep etmiyoruz. UBF Encoder lisansı satın aldığınızda, lians kullanım süreniz boyunca tüm özelliklerini kullanabilirsiniz.
Bu makale ile siz değerli yazılım geliştiricilere az da olsa geliştrime sürecimizi ve UBF Encoder'in neler yaptığını tanıtmak istedik. Bu anlamda UBF Encoder hakkında değerlendirmeleriniz UBF Soft olarak bizleri mutlu edecektir. Her türlü öneri şikayet ve yönlendirmelerinizi bizimle support@ubfencoder.com üzerinden paylaşabilirsiniz.
UBF Encoder tüm geliştiricilere açık olarak, üye olmanıza gerek olmadan 15 gün boyunca ücretsizdir.