yükleme css veya halka açık olmayan dizin javascript

4 Cevap php

kamu web dizininin dışından css ve / veya javascript dosyaları yüklemek için bir yolu var mı?

Örneğin benim barındırma hizmeti i / public_html var ama bu dosyalar kamu dizinde var istemiyorum ve / sistemi içinde bir kardeş dizin / sistemi (i CodeIgniter'ı kullanıyorum) kamu dizinin dışında bir dizine onları istemiyorum / uygulama / view /

4 Cevap

Evet - bir bakıma - ve Minify [http://code.google.com/p/minify/] bir yaklaşımdır.

Config dosyasında [http://code.google.com/p/minify/source/browse/trunk/min/config.php] 39 hattı bak. Lütfen minified önbellek web kök dışında oturur İşte burada göreceksiniz. Kaynak JS ve CSS önbellek olarak aynı dizinde oturup Şimdi, eğer ben bilmiyorum.

Sonuçta, Javascript ve Stil istemci tarafında işlenir. Bu nedenle, gerçekten halktan javascript veya CSS gizlemek olacak hiçbir çözüm yoktur.

Olası bir çözüm file_get_contents gibi bir şey () kullanarak ve sonra satır içi stilleri / komut dosyalarını kullanarak sayfasına doğrudan bu çıktısı PHP ile gerekli CSS / JavaScript dosyası yüklemek için.

Bu gerçekten olsa halktan kodu / stillerini gizleme sorunu çözmez. Bu sizin statik dosyaları ile bunu (ve çok daha az bir işleme gideri) olamazdı hiçbir neden yok olsa, size dolum tesisleri veya şaşırtmalı çeşit ile tüm kod ve stilleri filtreleme seçeneği verecek

Değil bir kamu bakan vekil olmadan.

Sen file_get_contents() gereken veya include onları ve sonra sayfa için onlara hizmet edecek.

Sadece ../../system yapmak ve DOCROOT yukarıdaki alınamıyor.

Onlar tarayıcı tarafından işlenmesi gerekir, bu yüzden need erişilebilir olması.

Eğer bir insan okunabilir şekilde kaynak inceleyen insanları engellemek istiyorsanız, CSS minify ve JS packer check out. Tabii bu sadece kod obfuscating vardır. Tespit herkes JavaScript okumak ve ne yaptığını görmek mümkün olacak.

Neden insanlar CSS veya JavaScript okumak istemiyor musun?

Ben twmulloy demek istediğimi biliyorum, farklı yerlerde ilgili bilgi 'görünümü' var tutarsız görünüyor. Ancak, JS ve CSS dosyaları oldukça bakış kendilerini parçaları daha görüşlerini destekleyen kaynaklar olduğunu düşünün.

O dedi, size çeşitli şekillerde istediğinizi elde edebilirsiniz. One JS / CSS varlıklar için isteklerini kabul eder ve ilgili yere (aslında her yerde bir görünüm dosya, veritabanı,) bir başlık ve veri çıkışları bir denetleyici yazmak olabilir. Ancak, bu sadece kök düzey public_htm bir alt klasör dosyaları haşhaş 'dağınıklık' kabul kıyasla inefficienty olduğunu. Ben, yukarıda birçok commentors gibi, bu hızı ve uygunluğu için en iyi çözüm olduğunu hissediyorum; sadece görüntüleri ile 'sistem' biri olarak aynı düzeyde bir 'varlık' dizin, css, js vs içinde olması. Bir şeyler sizin için daha iyi hissettirmek için bir takma ad veya sanal klasörü kullanabilirsiniz ...

Ancak, üçüncü bir yol var. SADECE ne istediğinizi gibi bir şey yapmak kütüphaneleri eklenen (kabul cevabını) küçültmek yararına ve sıkıştırma, ya da fantezi olursa olsun, vardır. Ben biliyorum, iki kütüphane AssetLibPro ve Carabiner denir ve bu (istediğiniz gibi) bir varlık yolunu belirtmek için izin ve sonra (gerekirse baskı, gruplar ekran örneğin ile) JS ve CSS dosyaları yüklemek vardır. Daha sonra tek bir dosya olarak ilgili tüm CSS / JS vb kadar hizmet; sıkıştırılmış, minified, önbelleğe ... ihtiyacınız ne olursa olsun.