Sayfa Düzeni: 1 / 5 1 2 3 4 5 SonSon
Toplam 42 sonuçtan 1 ile 10 arası olanlar

Konu Başlığı: CSS dosyasını gizlemek, saklamak, anlaşılmaz veya tekrar kullanılmaz yapmak istiyorum

  1. #1
    Üye erdinç's Avatar
    Katılım Tarihi
    04.12.2006
    Yer
    Londra
    Mesaj
    914

    CSS dosyasını gizlemek, saklamak, anlaşılmaz veya tekrar kullanılmaz yapmak istiyorum

    Selamlar,

    Amaç: Başkası benim sitenin kopyasını kolayca yayınlayamasın.

    CSS dosyasını korumak çok önemli çünkü stillerin çoğu günümüzde resim dosyaları ile değil CSS ile yapılıyor. Şimdi pek çok kişi CSS encript edilemez, saklanamaz, tarayıcı onu okuyorsa insan da okur diyecek. Tamam doğrudur, ancak benim istediğim şey ile bu itirazlar arasında fark var. Hemen açıklayayım:

    Tarayıcının CSS kodunu okumasını engellemek istemiyoruz. Tamam okusun. Ancak o tarayıcı o CSS kodunu okuyor diye başkası o kodu alıp sitesine koyunca otomatik olarak senin sitenin css kodunu tekrarlamış olur anlamına gelmez. Mesela hangi tarayıcı siteye erişim yapıyorsa sadece o tarayıcıya özgü bir CSS sunabilirsin. Yani tarayıcıda çalışır ama başkası o kodu alıp yayınladığı zaman bütün tarayıcılarda çalışmaz.

    Demek ki siteye erişen tarayıcıyı tanıyıp, o tarayıcıda çalışan ama başka tarayıcılarda çalışmayacak bir CSS sunmak istiyoruz. Bu bir yöntem. Böyle bir şey mümkün mü?

    Bir diğer aklıma gelen konu da encoding konusu. Bazen CSS dosyasının başında şöyle bir şey oluyor:

    @charset "UTF-8";

    Eğer boş bırakırsan sanki UTF-8 yazmışsın gibi kanul ediyor. Ancak UTF-8 dışında tarayıcının anladığı başka diller var.
    http://www.iana.org/assignments/character-sets
    Demek ki tarayıcının anlayacağı ama başkasının bakıp anlayamayacağı, üzerinde değişiklik yapamayacağı şekilde CSS dosyası sunmak mümkün. Bu konularda tecrübesi olan var mı? Burada deklere ettiğim dil sadece id name, class name ve font name kısımları için mi geçerli?

    CSS dosyasını kopyalamaktan koruyacak bir çözüm geliştirmek istiyorum. Ancak ben programcılıktan anlamam. Böyle bir projede çalışmak isteyen zeki, programcılık bilgisi güçlü ve bu işin olabilirliğine inanan arkadaşlar lazım.

    Benim programcıya, "böyle bir şey yoksa biz icat ederiz dedim", adam "sana kolay gelsin" diyor. Bir teknik güçlükle karşılaşınca hemen yan çizmek olmaz. Mutlaka bu konunun iyi bir çözümü vardır.

  2. #2
    Üye BYK's Avatar
    Katılım Tarihi
    08.04.2003
    Yer
    Ankara
    Yaş
    25
    Mesaj
    1,369
    Alıntı erdinç tarafından gönderilen mesaj: Mesajı Göster
    Bir diğer aklıma gelen konu da encoding konusu. Bazen CSS dosyasının başında şöyle bir şey oluyor:

    @charset "UTF-8";

    Eğer boş bırakırsan sanki UTF-8 yazmışsın gibi kanul ediyor. Ancak UTF-8 dışında tarayıcının anladığı başka diller var.
    http://www.iana.org/assignments/character-sets
    Demek ki tarayıcının anlayacağı ama başkasının bakıp anlayamayacağı, üzerinde değişiklik yapamayacağı şekilde CSS dosyası sunmak mümkün. Bu konularda tecrübesi olan var mı? Burada deklere ettiğim dil sadece id name, class name ve font name kısımları için mi geçerli?

    CSS dosyasını kopyalamaktan koruyacak bir çözüm geliştirmek istiyorum. Ancak ben programcılıktan anlamam. Böyle bir projede çalışmak isteyen zeki, programcılık bilgisi güçlü ve bu işin olabilirliğine inanan arkadaşlar lazım.

    Benim programcıya, "böyle bir şey yoksa biz icat ederiz dedim", adam "sana kolay gelsin" diyor. Bir teknik güçlükle karşılaşınca hemen yan çizmek olmaz. Mutlaka bu konunun iyi bir çözümü vardır.
    Bu söylediğin "encoding" anladığın şekilde bir kodlama değil. Karakterlerin metin dosyası içierisinde saklandığı biçimi ifade ediyor. Onlarca hatta yüzlerce encoding bulabilirsin ama hepsi birbirine dönüştürülebilir rahatlıkla(eksik karakterler dışında tabi ama bu konu dışı). Bu yöntemle istediğin şeyi başarman mümkün değil.

    Aklıma çalınmaya karşı gelen yöntem şu, body ya da html elemanına ya da gizli bir resim elemanına sayfanın çalıntı olduğunu gösteren bir resim ya da bir blok yerleştirirsin ama bunu ya ikinci bir CSS dosyası ile gizlersin ya da direkt resmi sunarken kendi domainin içindeyse resmi boş gönderirsin. Adam senin kodunu doğrudan kopyalayıp başka bir domain altında kullanmaya çalıştığında bu ikinci CSS dosyasını ya da resmi yollarken referrer kontrol edip kendi domainin içinden istenmemişse bir şeyi değiştirirsin böylece ilk aşamada adamın sitesinde çalıntı uyarısı çıkar. Eğer CSS kodlarını başka bir başlık altında belirttiğim gibi YUI Compressor gibi bir sıkıştırıcıdan geçirirsen insanların bu durumu farkedip düzeltmesi de daha zor olur ama imkansız değil hala.

  3. #3
    Üye BYK's Avatar
    Katılım Tarihi
    08.04.2003
    Yer
    Ankara
    Yaş
    25
    Mesaj
    1,369
    Alıntı erdinç tarafından gönderilen mesaj: Mesajı Göster
    Bir diğer aklıma gelen konu da encoding konusu. Bazen CSS dosyasının başında şöyle bir şey oluyor:

    @charset "UTF-8";

    Eğer boş bırakırsan sanki UTF-8 yazmışsın gibi kanul ediyor. Ancak UTF-8 dışında tarayıcının anladığı başka diller var.
    http://www.iana.org/assignments/character-sets
    Demek ki tarayıcının anlayacağı ama başkasının bakıp anlayamayacağı, üzerinde değişiklik yapamayacağı şekilde CSS dosyası sunmak mümkün. Bu konularda tecrübesi olan var mı? Burada deklere ettiğim dil sadece id name, class name ve font name kısımları için mi geçerli?

    CSS dosyasını kopyalamaktan koruyacak bir çözüm geliştirmek istiyorum. Ancak ben programcılıktan anlamam. Böyle bir projede çalışmak isteyen zeki, programcılık bilgisi güçlü ve bu işin olabilirliğine inanan arkadaşlar lazım.

    Benim programcıya, "böyle bir şey yoksa biz icat ederiz dedim", adam "sana kolay gelsin" diyor. Bir teknik güçlükle karşılaşınca hemen yan çizmek olmaz. Mutlaka bu konunun iyi bir çözümü vardır.
    Bu söylediğin "encoding" anladığın şekilde bir kodlama değil. Karakterlerin metin dosyası içierisinde saklandığı biçimi ifade ediyor. Onlarca hatta yüzlerce encoding bulabilirsin ama hepsi birbirine dönüştürülebilir rahatlıkla(eksik karakterler dışında tabi ama bu konu dışı). Bu yöntemle istediğin şeyi başarman mümkün değil.

    Aklıma çalınmaya karşı gelen yöntem şu, body ya da html elemanına ya da gizli bir resim elemanına sayfanın çalıntı olduğunu gösteren bir resim ya da bir blok yerleştirirsin ama bunu ya ikinci bir CSS dosyası ile gizlersin ya da direkt resmi sunarken kendi domainin içindeyse resmi boş gönderirsin. Adam senin kodunu doğrudan kopyalayıp başka bir domain altında kullanmaya çalıştığında bu ikinci CSS dosyasını ya da resmi yollarken referrer kontrol edip kendi domainin içinden istenmemişse bir şeyi değiştirirsin böylece ilk aşamada adamın sitesinde çalıntı uyarısı çıkar. Eğer CSS kodlarını başka bir başlık altında belirttiğim gibi YUI Compressor gibi bir sıkıştırıcıdan geçirirsen insanların bu durumu farkedip düzeltmesi de daha zor olur ama imkansız değil hala.

  4. #4
    Üye fatihturan's Avatar
    Katılım Tarihi
    22.10.2005
    Yer
    Trabzon
    Yaş
    30
    Mesaj
    397
    Aklıma çalınmaya karşı gelen yöntem şu, body ya da HTML elemanına ya da gizli bir resim elemanına sayfanın çalıntı olduğunu gösteren bir resim ya da bir blok yerleştirirsin ama bunu ya ikinci bir CSS dosyası ile gizlersin ya da direkt resmi sunarken kendi domainin içindeyse resmi boş gönderirsin. Adam senin kodunu doğrudan kopyalayıp başka bir domain altında kullanmaya çalıştığında bu ikinci CSS dosyasını ya da resmi yollarken referrer kontrol edip kendi domainin içinden istenmemişse bir şeyi değiştirirsin böylece ilk aşamada adamın sitesinde çalıntı uyarısı çıkar.
    Bu yöntem çömez web geliştiricilerine karşı belki işe yarayabilir ama işi bilen web geliştiriciler Firebug ile veya benzeri araçlarla o görseli iptal etmeleri çok kolay olur.

    Aslında başka bir yöntem de gelmiyor aklıma. Gelirse hemen paylaşırım sizinle.

  5. #5
    Üye oxigen's Avatar
    Katılım Tarihi
    21.08.2004
    Yer
    istanbul, eskişehir
    Yaş
    30
    Mesaj
    565
    Kod:
    <link rel="stylesheet" type="text/css" href="XXX.css" />
    gibi css 'leri direk olarak html içine eklemek yerine, sayfamıza bir dosya include etsek (php yada asp) ve bu dosyada sayfayı request eden url 'i kontrol etsek, eğer bizim belrtmiş olduğumuz domain ile aynı ise bu include dosyası içinde css 'i alsak mantıklı olur mu acaba

    html / asp kısmı
    Kod:
    <html>
    <head>
    <title></title>
    <!--#include file = "cssEkle.asp"-->
    </head>
    cssEkle.asp"
    Kod:
    if domain = "http://bizimsite.com" then
         'Css işlemlerini yap
    end if
    http://net.tutsplus.com/tutorials/ht...our-css-files/ adresinde CSS ile değişken kullanımına yönelik bilgiler var (aslında bu konuyla ilgili değil), Step 3 - Parse the CSS file with PHP 'de CSS 'i parse etme kodları var, belki işine yarayabilir
    your KEY to EUROPE : AEGEE-Eskişehir (v2.0) | Microsoft Dynamics CRM Developer

  6. #6
    Üye erdinç's Avatar
    Katılım Tarihi
    04.12.2006
    Yer
    Londra
    Mesaj
    914
    Selamlar Burak, Fatih, Oxi

    Orada bahsedilen encoding konusunun encripting olmadığını zaten fark ettim. Class isimlerinde, id isimlerinde vb. örneğin Türkçe karakter kullanmaya yarayacak bir encoding bu. Diğer taraftan alfabesi Türkçeden çok daha karışık diller var. O dillerden birini kullanıp çok uzun id ve class isimlerini araya karıştırıp, birkaç tane de işe yaramaz id katıp, mesela #бджючяыяфцйёуаепгшщльтячыфйцукхжюбблдщшьтгейё мсчя şeklinde, sonra da bunları sıkıştırıp ayrıca bir de encoding deklerasyonunu css dosyası dışına taşıyıp işi karışık hale getiremez miyim? Burada açam, karşı dosyaları indirince çalışsın tamam ama üzerinde değişiklik yapmaya kalkınca zorluk yaşasın istiyorum.

    Bir de ikinci yönteme yorum yazan olmamış. O da şu yöntem: Diyelim ki kullanıcı siteyi IE8'de açtı. Ben ona öyle bir CSS sunmak istiyorum ki IE8'de düzgün çalışsın ama alıp CSS'i kendi sitesine yüklediği zaman diğer tarayıcılarda çalışmasın. Şimdi diyeceksin ki o zaman senin sunucunda da diğer tarayıcılarda çalışmaz. Doğrudur. Her tarayıcıya başka CSS sunacağım. Böylece siteyi ziyaret eden herkes düzgün görüntüleyecek ancak CSS kodunu alıp farklı tarayıcıda kullanamayacak.
    Bir tarayıcıda çalışıp da başka tarayıcıda çalışmayan css ya da html mümkün müdür?


    Aklıma bir yöntem daha geldi. Bu yönteme göre benim sunucuda çalışmayan ama karşı taraf indirdiğinde çalışan bir özellik istiyorum. Benim sunucuda herhangi bir şeyi çalışmaz yapabilir miyim? Örneğin, html dosyasında div kalabalığı yaratmak istiyorum. Normalde 4 tane div gereken yerde 14 div kullansam, araya fazladan koyduğum 10 tane divi sadece benim sunucuda sanki hiç yokmuş gibi etkisiz yapıp, ancak karşı taraf dosyayı yüklediği zaman etkili olacak şekilde yapmak mümkün mü? Bu nasıl olur? Yani karşı taraf dosyayı indirdiği zaman karman çorman bir sürü div olsun. Bu kalabalık yapma yöntemine uyan bir şey aklınıza geliyor mu?

    Mutlaka bu işe bir çözüm bulmak gerekiyor. Sadece benim site değil, binlerce site kopyalanıyor. Bu işe bir el atalım.
    Mesaj erdinç tarafından 19.06.2010 (03:54) yeniden düzenlendi.

  7. #7
    Üye erdinç's Avatar
    Katılım Tarihi
    04.12.2006
    Yer
    Londra
    Mesaj
    914
    Oxigen çok sağolasın o link için. Orada önemli bilgiler var.

  8. #8
    Üye BYK's Avatar
    Katılım Tarihi
    08.04.2003
    Yer
    Ankara
    Yaş
    25
    Mesaj
    1,369
    Oxigen,

    Bahsettiğin yöntem işe yaramaz malesef çünkü admlar ASP sayfalarını alıp kendi sunucularına aktarmıyorlar, onun ürettiği çıktıyı aktarıyorlar. Yani adam siteni ziyaret eder, sonra açar kaynak kodunu bir güzel oradan CSS'ni de alır. Sen de sayfa içine CSS gömdüğünle kalırsın. Orada domain kontrolü yapmak da hiçbir işe yaramaz. Ha eğer CSS dosyasını ASP üzerinden sunayım, onda domain kontrolü yapalım dersen o biraz daha etkili ama hal zayıf. Benim anlatmaya çalıştığım yöntem de bununla Erdinç'in son mesajında yazdığı yöntemin bir karışımı zaten.

    Erdinç,

    Her tarayıcıya ayrı kod göndermek gibi şeyler söyledin ben bunu dikkate bile almadım ilk mesajında şimdi ısrarla üzerinde durunca söyleme ihtiyacı hissettim. Bu korkunç bir yaklaşım. Yani senin gibi CSS'i savunan, ortak elemanlar, tarayıcı uyumluluğu diyen bir insanın ağzından bunları duyuyor olmak ancak seni "tasarımı çalındığı için sinirden gözü dönen birisi" olarak görürsem mantıklı geliyor ki bunu da yine senden beklemiyorum. Böyle bir şey mümkün olsa bile böyle bir yolu seçmeye çalışmak çok büyük bir hata olur.

    Zoque'un tasarımı onlarca kez çalındı, bir sürü başka sitenin tasarımları çalındı ama yaptığı işlemi direkt kaynak kodu sunarak yapan her şeyde bu böyle olmak zorunda zaten. Bence odağını tasarım çalınmasını engellemek yerine siteni daha da geliştirmeye kaydır. Yıllardır korsan kitap ve oyunlara da çare arıyorlar ama bulamadılar, bu konuda da bu kadar yıllık bilgi ve tecrübeme rağmen ben çıkar yol bulamıyorum ayrıca dediğim gibi konuyu da gereksiz buluyorum. Kopyaladıysa bu onun ayıbı, sen afişe edersin, bir kaç yerde duyurduğun zaman bile zaten aramalarda çıkmaya başlıyor. Ondan sonra hala kopyasına giden varsa da yapacak bir şey yok.

  9. #9
    Üye
    Katılım Tarihi
    03.08.2006
    Yer
    istanbul
    Mesaj
    23
    Merhaba,
    Bende zamanında bu konu hakkında düşünüyordum. Ancak IE ile Save As yapınca hoop hepsini kayderder. Zaten hadi o işe giremedi bu sefer kolayca php ile bir script yapılır sayfa alınır.

  10. #10
    Üye Murat Özden's Avatar
    Katılım Tarihi
    12.03.2009
    Yer
    istanbul
    Yaş
    30
    Mesaj
    176
    @Erdinç yaşadığın durum gerçekten üzücü, benzer bir olayı bize "Vatan Gazatesi" yapmıştı, google'ın free API'lerini farklılaştırarak bir çeviri servisi oluşturmuştuk, tamamen free basit bi iş kaynakkoduna, GA kod'larını dahi çalıp kullanmışlardı.

    Browserların save as / rightclick fonksiyonlarını disable edebilirsin, sayfanı down etmesini engelliyor, pek bir çözüm değil ama engel teşkil edebilir.


    Önce yaşanılan durumu adım adım ortaya koyarsak çözüme daha sağlıklı ilerleyebilirsin sanıyorum. ( aşağıda yazıcam yanlışım varsa düzeltirmisin lütfen)


    2 tip kullanıcı var ,
    A kullanıcısı senin siten üzerinden sorguyu yapıyor.
    B kullanıcısı X siteden yapıyor.

    B kullanıcısı X sitesinden sorguyu yapıyor, X sitesi request'i sana post ediyor gelen cevab'ı kendi sitesinde kullanıcıya sunuyor.

    - Burada gelen request'i cross domain kontrolü yapılsa çözülebilir geliyor bana..


    Devam edelim çözülmedi diyelim..
    senin sayfana giren kullanıcıya bir sessionID yaratsan,
    Kod:
    if (!isset($_SESSION['token'])){    $_SESSION['token'] = md5(uniqid(rand(), TRUE));}
    sonra kullanıcının yapacağı sorguya token oluştursan,
    Kod:
    if ($_POST['token'] == $_SESSION['token']){    /* doğru */}
    sessionID(token) == post(token) ise request cevap dönse kullanıcıya..

    çözülmezmi?

    Bu konuda vBulletin'inde benzer bir yapı var,
    cross domain kontolü çok güzel yapıyor Cihangir daha iyi bilebilir.
    kullanıcı yeni post attığında 'token' doğruysa işlemi yaptırıyor. crossdomain üzerinden gelen request'i engelliyor,
    hatta İP blocklatılabiliyor felan.


    Uzun zaman oldu hangi sitede olduğunu hatırlamıyorum,
    Sitenin source'unu görüntülemek istediğinde bomboş geliyordu.
    hiç araştırmadım ama yöntemi nedir değildir diye, fakat buda bir çözüm olabilir.
    Sayfa kaynak kod'unu browserlarda kontrol ettirip içeriğini göstermeme gibi bir durum.
    js 'le disable edilebilir yada full sayfa içeriği ajax'dan load ettirilebilir belki,

    Burak, bu tarz bir uygulama ile hiç karşılaştınmı?

Sayfa Düzeni: 1 / 5 1 2 3 4 5 SonSon

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz
  •