0
Merhabalar,
Öncelikle bu konuyu genel bir tartışma niteliğin de bilgi vermek amaçlı sorduğumu belirmek isterim. Herhangibir kötü amaç yoktur. Genel amacı ise web sitelerini offline olarak gezebilmektir.
Öyleyse başlayalım :)
Web site dosyalarını çeşitli programlar ile çekebiliyorduk bu programlar httrack, web site copier vb... ancak bu tür programlar sadece web sitelerinin admin paneline erişmeden genel olarak bir şablonunu veriyor diyebiliriz.
Ama asıl sormak istediğim kısım şurası. Detaylıca Örneklendirelim;
www.xxx.com adın da bir web sitesimiz var diyelim. Bu web sitesine biz yazılımcılar çeşitli projeler geliştirerek kullanıcılara sunuyoruz. (Örneğin uzmanim.net) Tüm kaynak kodları, veritabanları hepsi bizim elimizde ve biz bu siteyi ftp ile paylaşarak web sitesini yayınlıyoruz. İşte tamda sormak istediğim kısım şurası bizim yaptığımız tüm kaynak kodları ve veritabanı admin paneli vs. tümüyle çekilebilir mi? Yani biz boşunamı o kadar emek sarfediyoruz biri gelip tüm emeğimizi 1 saat içinde alabilirmi ?
@temmuz , @candan, @hakan, @ismailsarp, @murat, @alattin hocalarımızın değerli yorumlarını bekliyoruz.
0
Elbette boşuma emek harcamıyoruz :)
Elbette çeşitli programlar ile web siteleri HTML olarak indiriliyor. Fakat bu programların aslında tarayıcıların yani Chrome, Firefox gibi programların yaptığı işten bir farkı yok. Tarayıcılar siz bir linki tıkladığınızda web sitesinin sunucusuna istek gönderiyor. Web sitesi sunucusu da cevabı tarayıcının anladığı dilden yani HTML olarak gönderiyor. Burada tüm işlemler HTML, Javascript ve CSS kodları ile gerçekleşiyor. Bu normal akış.
Fakat sen ASP.NET Web formları ile bir web sitesi geliştiriyorsan dosyalarının uzantısı .aspx oluyor. Asp.Net MVC ile uygulama geliştiriyorsan görünümlerin uzantısı cshtml oluyor. Bu uzantılar web sunucu için özel uzantılar.
Web sunucu asla bu dosyaların içeriklerini kullanıcılara göndermiyor. Ne yapıyor peki? Bu dosuaların içindeki kodları işliyor, sonucunu HTML olarak kullanıcıya yolluyor. Sen hazırladığın web sitesinde C# gibi bir dil ile kod yazıyorsun. Web sunucu bu kodların HTML karşılığını normal kullanıcıya yolluyor. Yani kullanıcı senin yazdığın C# kodlarına asla erişemiyor.
Örneğin sen kodlarında git veritabanıan bağlan, on tane soruyu al ve ekrana getir diyorsun. Web siteni ziyaret eden sadece senin yazdığın kodların çıktısını görünüyor.
Burada iki şey söz konusu. Bir uygulamaları kaynak kod denilen ham veriler üzerinde geliştiriyoruz. Web sunucuya derlenmiş kodları atıyoruz. Kaynak dosyalar ve sunucu üzerindeki dosyalar farklı.
Kaynak dosyaları sunucuda olsa dahi, kaynak kodları asla kullanıcıya gösterilmez. Böyle olsa, sen Facebook kaynak kodlarını çeker Facebook'un açıldığı gün ÖzFacebook kurarsın.
Kısaca bir web sitesinin kaynak kodlarının indirilmesi, mümkün değildir. Özellikle ASP.NET gibi teknolojilerde zaten sunucuya kaynak kodlar atılmaz, derlenmiş .dll dosyaları yüklenir. Bu durumda sunucun hack edilse bile kaynak kodları başkalarını eline geçmez.
1
IE Tarayıcıda dosya menüsünden "Farklı kaydet" yapabilirsin (HTML en ugun olanı).
Chrome tarayıcıda ise SingleFile (tıkla) uzantısını kullanabilirsin. Oldukça başarılı bir uzantıdır.
Ayrıca bunun için özel programlarda var ama farklı kaydetme şekli ve Chrome uzantısı bence daha iyiler. Zaten bazı programları kullanmışsın herhalde ve istediğin sonuçları alamamışsın.
0
Bazı özel program ve tekniklerle istenilen herşey çekilebilir. Buna da "hack" denir. Unutmayın, yazılan her kod tersine mühendisliğe açıktır.
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol