Descrição: Há situações em que você não quer retirar todo o conteúdo da página de uma só vez. Por exemplo, na seção " PERGUNTAS FREQUENTES."Para retirar apenas os nomes das perguntas. E se uma pessoa estiver interessada na resposta a uma determinada questão, ele pode abrir a resposta e, quando assistir, depois fecha. Isso cria a conveniência da página e sua compactação. E Para isso eu preparei simples script no javascriptpermitindo que você abra ou esconda um texto específico (em geral, certos elementos), isto é, fazer texto escondido em JavaScript.
Resultado: Clique no nome da pergunta. Se você clicar novamente, a resposta se agarra novamente.
Questão 1.
Responda o número 1.
Questão 2.
Resposta número 2.
Código Javascript (insira entre tags e):
Código HTML (inserir entre tags e):
Questão 1.
Questão 2.
Honestamente, não é necessário para qualquer desenvolvedor, principalmente qualquer código JavaScript olhá-lo facilmente no navegador e, portanto, não há razões especiais para ocultar seu código. Isso, por assim dizer, visível, o que não pode ser escondido. No entanto, há caras que são muito tímidos para mostrar seu código para qualquer um, considerando que esta propriedade não pode ser roubando, dizendo bibliotecas. Você criou um serviço on-line, criou especificamente uma poderosa biblioteca complexa que executa determinadas operações, sem análogos do seu serviço, não há de sua biblioteca, e naturalmente você não desejaria que seu roteiro veja cada (desenvolvedor) e pudesse fazer no seu exemplo semelhante, ainda melhor. Claro, não há nada de errado em fazer algo melhor, é a evolução, mas do ponto de vista dos negócios, os competidores estão apenas à mão.
O que é necessário para isso?
Você só precisa entender o algoritmo e tentar melhorá-lo, e eu retell sua experiência como eu fiz escondido scripts. A primeira coisa que precisamos é testar a tarefa no servidor real (local), eu farei isso com Denwer em servidor local.mas)Para testes, crie um diretório no servidor.
Eu continuo disco virtual, Eu tenho esta unidade r, vá até a pasta da casa
Criar diretório de script e, dentro, criar uma pasta www, como resultado, você terá sucesso: Home / script / www / - depois disso, certifique-se de atualizar o servidor (reiniciar Denwer)
b) Crie um arquivo index.php - por exemplo, este é o nosso página principal. Site, e aqui precisamos remover scripts ocultos. Também crie a pasta "JS" neste diretório.
Para a nossa tarefa, serão necessários pedidos AJAX, para isso, para isso, você pode usar suas funções racionais, mas se o seu projeto crescer para tamanhos que exigirão o uso de efeitos especiais, eventos, conectar a biblioteca e eu conecto antecipadamente jQuery, Na raiz da pasta "JS» Adicionar jquery.js.
Em seguida, crie na mesma pasta nova pastaOs scripts que precisamos esconder serão armazenados nele. Vou nomear "segurança":
dentro)Nós recrutamos o código de visualização em index.php
Como você pode ver, há um bloco
PHP assume o papel de ler seus scripts que serão bloqueados no servidor e não poderá ser aplicado a eles.
Mas primeiro vamos criar nossos scripts que queremos esconder.
d) Na pasta de segurança, crie script1.js e script2.js, com esse conteúdo, respectivamente:
Por exemplo, é o suficiente! Agora, para que seja impossível contatá-los, você precisa perguntar no servidor, isso é feito graças ao arquivo.htaccess.
O HTAccess é um arquivo de configuração definido pelo desenvolvedor, usuário deste servidor.
Htaccess tem tal conteúdo:
Depois disso, a pedido:
Você verá isso:
Assim, sua pasta de segurança está escondida de olhos desarrumados, é inacessível.
Se você tentar conectar scripts:
Em seguida, em qualquer caso, seus arquivos não serão executados, pois eles são globalmente escondidos pelo servidor
e)Retornar para o bloco PHP do programa em index.php
A linha inferior é que o PHP tem acesso a todos os arquivos no servidor, independentemente de eles estarem ocultos ou não, ou seja, se você se registrar:
Então B. este caso Vamos ver o conteúdo do nosso roteiro oculto.
No entanto, de outro servidor, o conteúdo do nosso script não pode ser visto, e uma mensagem de erro é retornada 500. Esta é a nossa mão, então outros sites não poderão ler nossos arquivos ocultos.
e)É assim que o resultado final ficará:
E agora nós lidamos com como tudo funciona. jQuery executa uma mensagem de postagem (isso ajuda a evitar furos no servidor index.php) no servidor "index.php? JS \u003d Result", há uma verificação, se a solicitação do nosso servidor (strpos () funcionar e endereço do nosso servidor Servidor "http: / / script" - C Para conta deste exemplo), o script verifica a variável pós-variável, ou seja, o endereço do nosso script oculto e fornece um resultado de texto. jQuery Feito () Método Obtém uma resposta na forma deste conteúdo de texto, e este texto pode ser convertido em um funcionamento de JavaScript, isso faz com que a função padrão de eléctrico seja eval ();
Eventualmente
Obtemos nosso resultado, nossos scripts não podem ser vistos estaticamente ou dinamicamente através do console do navegador, mas é fácil ver o trabalho deles. Esses scripts e suas funções são facilmente executados. No entanto, é necessário pensar bem em aplicar essa técnica, como neste caso a questão do desempenho, a velocidade é levantada. Event (código) função entre javascript Developers. É considerado mal, e é recomendável usar seu análogo da nova função ('return' + código), embora o último não saiba como determinar as funções dentro, ou seja, se a definição de função for gravada em sua variável , Código \u003d "teste de função () (alerta (1);); Teste (); ", o código não será cumprido, o que significa que a Eval () se aproxima de todos os casos da vida, a verdade tem suas próprias nuances, que ainda precisa ler.Se deve ocultar você para se esconder de outsiders na sua página de script, que implementa uma aparência linda irrealista de um menu ou realizando outras ações que você não gostaria de ver em breve em cada site?
Em caso afirmativo, o método descrito neste artigo será útil para você em conjunto com o processo do código. Ao mesmo tempo, farei uma reserva ao mesmo tempo que o método não seja 100%, mas da maioria não profissional e parte dos profissionais que irá proteger.
Teoria
Suponha que tenhamos uma página nojs.php e nele o script secreto.js que precisa ser escondido. Navegador e usuário podem obter um script do servidor das seguintes maneiras:- Carregando o script postado diretamente na página ou carregado com DOM;
- Veja o script na janela Código fonte da página.;
- Salvando uma página com todos os arquivos em um disco rígido;
- Inserindo um URL direto na barra de endereços.
No segundo e terceiro caso, ele é transmitido não por todos os navegadores (Chrome, o Firefox emitirá um script baixado anteriormente do cache; Opera, ou seja, é carregado o script novamente, mas sem enviar referenciados).
No quarto caso, o referente não é transferido para nenhum desses quatro navegadores.
Se você der o JavaScript dinamicamente com a verificação do cabeçalho do referente na consulta, iremos proteger imediatamente da ópera e ie, mas para Crome e Firefox terão que chegar a algo para gravação. Primeiro baixaremos um script, que, por sua vez, carregará outro script, enquanto ambos os downloads serão verificados para Referidor HTTP. Método científico é encontrado que, se você criar dinamicamente um script na página Document.createeeelement ("script") e excluí-lo da página, o script funcionará como de costume, mas não será salvo.
Prática
nojs.php.
Esta página carrega o objetivo de baixar script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>