Amigo_zz 0 Denunciar post Postado Julho 20, 2010 Ora biba pessoal, Preciso da vossa ajuda. Estava aqui a pensar em proteger um ficheiro css ou um js via .htaccess. Então coloquei numa 1ª versão: Código: <files ~ ".css$"> Order allow,deny Deny from all </files> Protegia realmente os ficheiros de css mas também impedia o acesso do site aos ficheiros, então acrescentei: Código: <files ~ ".css$"> Order allow,deny Deny from all Allow from xxx.xxx.xxx.xxx </files> Mesmo problema e ainda substitui o ip pelo dominio com e sem www. Mesmo resultado. Já coloquei o ficheiro na root e na pasta dos css. Alguma dica? Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Y. 0 Denunciar post Postado Julho 20, 2010 Amigo_zz, O que você está tentando fazer é bloquear o acesso de clientes ao seus css e javascripts? Isso não está certo... Olhe, o css e o javascript não são processado no servidor... são enviados para o cliente. Ou seja, quando você faz uma requisição para uma de suas páginas, por exemplo index.html, o que o browser faz é acessar os arquivos referenciados como css e javascript. Então se você bloqueá-los, seu browser não vai encontra-los. Ou seja, quem trata do css e do javascript é o browser, e não o servidor... então você não deve bloqueá-los. Compartilhar este post Link para o post Compartilhar em outros sites
Amigo_zz 0 Denunciar post Postado Julho 20, 2010 Realmente você tem razão, era o que estava acontecendo mesmo. O browser tambem não "via" o css... Agora será que não dá para executar o css apenas se houver uma "senha" guardada numa constante ou numa session de forma a que não seja executado o css numa tentativa de acesso directo? Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Y. 0 Denunciar post Postado Julho 20, 2010 Da pra fazer com sessão... mas depois que o usuário acessar seu site, ele vai conseguir acessar o CSS diretamente. Por mais que você tente esconder seu js e css, existem milhares de componentes dos browser para visualizar os CSSs e os JSs dos sites, então não vale a pena... Entenda que css e javascript vão ser interpretados no cliente, então não adianta tentar esconder... mas se mesmo você assim você quiser, a lógica é mais ou menos assim: //no seu html <link rel="stylesheet" type="text/css" href="/restrito.php?arquivo=css.css" /> no arquivo restrito.php <?php session_start(); if(isset($_SESSION['valido']) && isset($_GET['arquivo'])){ $arquivo = $_GET['arquivo']; $ext = substr($arquivo,-1-strpos($arquivo,'.')); if($ext == 'css'){ header('Content-type: text/css'); }elseif($ext == 'css'){ header('Content-type: application/javascript'); }else{ exit(); } echo file_get_contents($arquivo); } ai na suas páginas: session_start(); $_SESSION['valido'] = 1; mas não recomendo... Compartilhar este post Link para o post Compartilhar em outros sites
André Manoel 2 Denunciar post Postado Julho 20, 2010 Pra que esconder css? Compartilhar este post Link para o post Compartilhar em outros sites
Amigo_zz 0 Denunciar post Postado Julho 20, 2010 Pra que esconder css? Viva, Sinceramente nenhuma razão em especial, mas depois de andar a ler alguns artigos por aí espalhados pensei que talvez fosse interessante como desafio. Mas sendo executado pelo cliente, ele fica visível. Pelos menos deu para a aprendizagem. Mas na tentativa e na pesquisa acabei descobrindo detalhes que poderão ser interessantes para aumento da segurança com ficheiros php. Obrigado malta. Compartilhar este post Link para o post Compartilhar em outros sites