Existem duas maneiras de criar uma página imprimível:
1. Use especialmente um script separado para exibir uma página sem menus e design desnecessário.
2. Exibir a mesma página que visualizamos ao visualizar o site, mas com diferentes estilos suportados, onde elementos desnecessários ficam ocultos.
Tive a oportunidade de criar documentos (faturas, faturas, etc.) para impressão. Então optei pela primeira opção. Mas isso é simples no meu caso. A segunda opção parece-me mais flexível.
Aqui está minha experiência, notas:
1. A regra principal é ser mais simples e as pessoas serão atraídas até você aqui. 🙂 Resumindo, não use uma variedade de designs. Basta uma pessoa ler o texto impresso, não há necessidade de sobrecarregá-lo com designs desnecessários. Sim, e desperdício de tinta na impressora.
2. Não usamos imagens de fundo; elas não estarão presentes durante a impressão. Ou irão, mas não em todos os navegadores. Pelo menos algum ancinho semelhante aconteceu comigo.
3. Tentamos usar fundo branco e texto preto. Se for o contrário, você desperdiçará muita tinta. Não acho que haja necessidade de fazer texto colorido – muitas pessoas têm uma impressora em preto e branco de qualquer maneira.
4. Caso precise que o conteúdo a seguir seja impresso na próxima página, insira um bloco div com a classe pagebreak antes deste texto. Descrevemos a classe em estilos:
Quebra de página (quebra de página depois: sempre;)
Quebra de página ( quebra de página depois: sempre; |
o texto por trás deste bloco será impresso em uma nova página. Funciona em todos os navegadores modernos. E também não os modernos. Um IE até a versão 7 inclusive falha. Mas você tem que marcar nele!
5. E então, imprima. O próprio usuário pode escolher a impressão. Você pode apostar
janela.onload = função () ( janela.print(); )
e o próprio botão:
< button onclick = "window.print();" >Selo< / button > |
Este botão aparecerá ao visualizar a página, mas não será impresso, pois definimos display: none; in style for media="print", ou seja, em estilos para o dispositivo de impressão. Ao clicar no botão, uma janela de impressão aparecerá.
Para quem quer superautomatizar o processo de impressão, para que, por exemplo, abramos uma página e a impressora comece imediatamente a imprimir a página - acalme o seu ardor ou aquele que lhe pede para fazer isso. Não encontrei esse método. Sim, ele não existe. Porque é lógico. Imagine que você acessa um site e ele está programado em javascript para imprimir cem cópias de páginas. E a impressora enlouquece e começa a imprimir esse monte de páginas sem o seu conhecimento. Ilógico? Ilógico!
Certa vez, um gerente de projeto me pediu sinceramente para fazer uma coisa dessas. Tive que explicar tudo isso para ele, dar exemplos para que ele entendesse que isso não pode ser feito e não é necessário.
6. Se alguém reclamar que o endereço da página, título e outras porcarias nos rodapés estão impressos, aconselhe-o a configurar o navegador. Isso não é configurável do lado do site. Pelo menos não sei como. Por exemplo, no Firefox isso é configurado em “Imprimir” - “Configurações da página” - “Margens e rodapés”
7. Aliás, além do anterior. Digamos que o usuário desabilitou a exibição de todos os cabeçalhos e rodapés, incluindo o endereço da página. Ou seja, se o usuário olhar o impresso depois de algum tempo, não conseguirá entender de qual site o imprimiu. Então talvez valha a pena fazer uma pequena anotação indicando o recurso, endereço da página, logotipo ou qualquer outra coisa.
8. Use fonte grande (dentro do razoável, é claro). O principal é que tudo fique legível quando impresso.
10. Acho que precisamos usar dimensões independentes do dispositivo – dimensões absolutas. Por exemplo, em,cm,mm,pt,pc.
11. Aqui está um link útil http://www.webdevout.net/browser-support-css#css2propsprint. Descrições de estilos podem ser encontradas no site http://htmlbook.ru
Em geral, aconselho você a percorrer toda a lista de propriedades CSS, mesmo se você for um desenvolvedor experiente. Fiquei surpreso ao descobrir propriedades CSS desconhecidas e que algumas propriedades CSS já podem ser usadas sem medo.
Claro, esta não é uma lista completa de dicas. Esses são só meus pensamentos.
Muitas vezes você pode encontrar em sites uma versão para impressão de uma página específica. Muitas pessoas pensam que isso é algo embutido no próprio navegador ou que é feito de forma muito simples. Na verdade, isso não é verdade. A versão para impressão é uma página normal, que você precisa por conta própria fazer.
Você pode consultar a versão para impressão deste artigo. Na verdade, o que deveria ser exibido lá? Título do artigo, seção, categoria, autor, texto propriamente dito e data. Tudo isso é exibido nesta página. Você precisa de um menu, um formulário de pesquisa ou vários blocos? Acho que não, é por isso que eles não existem.
Certifique-se também de que a largura da versão para impressão seja não excede 650px, caso contrário o navegador poderá cortar as bordas.
Então você já entendeu isso versão para impressão Você precisa criá-lo sozinho, exibindo exatamente o que o usuário precisa. Agora vamos falar sobre como fazer isso.
Comer 2 opções: crie uma página separada e um arquivo de estilo separado. A primeira opção, penso eu, é clara. Crie outra página com versão para impressão e na página principal você fornece um link para esta versão impressa. O usuário o segue e através "Arquivo" -> "Imprimir" ele irá imprimi-lo.
A segunda opção envolve a criação de uma folha de estilos separada, onde você ocultará todos os blocos desnecessários (via Mostrar nenhum;) e defina os tamanhos apropriados para o conteúdo de saída. Então este arquivo de estilo é conectado da seguinte forma:
Agora se o usuário quiser imprimir esta página, então o que será impresso não é o que ele vê, mas sim o que está escrito nela imprimir.css. Na verdade, o usuário vê a página em uma visualização e a impressora em uma visualização completamente diferente.
Por aqui uma versão para impressão está sendo criada qualquer página do site.
Muitos usuários da Internet global nem sequer suspeitam que a Web seja um ambiente multifuncional que oferece diversas formas de fornecer informações. Neste caso, não nos referimos a multimídia - dados de áudio e vídeo, hoje muito difundidos, mas sim a fontes reais através das quais as pessoas obtêm informações na Web. A maior parte dos usuários da Internet utiliza uma tela para esses fins, que pode ser um dispositivo separado (monitor de PC) ou parte integrante de um dispositivo móvel com acesso à rede. Considerando o desenvolvimento bem-sucedido da tecnologia informática e a disponibilidade de computadores desktop e laptop e todos os tipos de aparelhos eletrônicos, é seguro dizer que hoje o monitor é o meio mais popular de visualização de páginas da web.
Seja como for, em alguns casos simplesmente não podemos prescindir de imprimir as páginas que nos interessam. É por isso que, em muitos sites, para cada documento à disposição do usuário, existe uma versão do mesmo que é utilizada na impressão em impressora. Mas devido ao fato de o desenvolvimento de tecnologias Web visar principalmente a apresentação visual de informações nas telas dos monitores em um navegador, muitas páginas da Web são impressas de uma forma que não é totalmente conveniente para leitura. Barras de navegação, banners para diversos fins e outros elementos semelhantes de uma página da web desorganizam sua apresentação visual na forma impressa. Além disso, grande parte desses elementos são projetados para interagir com o usuário por meio do navegador e, portanto, quando transferidos para o papel, não têm nenhuma utilidade. Portanto, cada vez mais nas páginas da web visitadas você pode encontrar links como "Versão impressa da página", permitindo visualizar o documento na tela na forma em que será impresso na impressora.
As ferramentas de especificação CSS permitem que os desenvolvedores web criem facilmente diferentes opções de apresentação de páginas dependendo de como elas são exibidas (monitor, impressora e muito mais). Este artigo discute maneiras de implementar essa abordagem usando CSS.
Fazendo conexões.
Existem várias maneiras de importar o conteúdo de folhas de estilo CSS externas para um documento HTML e definir as regras necessárias diretamente no arquivo de código-fonte da página.
Metatag .
A opção mais comum e familiar é usar uma meta tag. , que fornece um atributo de mídia que permite determinar o dispositivo para o qual o documento será formatado usando o arquivo CSS especificado. Aqui está um exemplo:
O exemplo acima inclui o arquivo CSS print_stylesheet.css, projetado para formatar o documento ao enviá-lo para uma impressora (media="print" ). Ou seja, para todos os demais casos de apresentação de uma página web (que não seja a versão impressa), não são levadas em consideração as regras CSS definidas no arquivo print_stylesheet.css. A especificação CSS define dez valores válidos para o atributo media, fornecendo diferentes dispositivos e formas de apresentação de informações da Web: todos, auditivo, braille, em relevo, portátil, impressão, projeção, tela, tty e tv. Neste artigo não consideraremos todos os valores, mas apenas aqueles que definem o dispositivo de impressão. Mas você também deve prestar atenção ao valor all , que é definido por padrão para o atributo media, a menos que seja especificado explicitamente de outra forma. Além disso, se um arquivo CSS específico se destina a formatar uma página ao enviar para vários tipos de dispositivos simultaneamente, as palavras-chave correspondentes podem ser especificadas em uma linha, separadas por vírgula:
Comando de importação CSS.
Você também pode usar a palavra-chave @media para incluir um arquivo CSS externo. A regra definida neste caso pode especificar vários tipos de mídia para os quais a formatação se destina. Neste caso, a sintaxe permite duas opções para escrever o comando:
@import url("styles/stylesheet.css") imprimir, projeção;
ou
@import "styles/stylesheet.css" impressão, projeção;
Como pode ser visto no exemplo, não há diferenças especiais entre as opções aceitáveis. Em um caso, a diretiva url é usada e o segundo envolve escrever o caminho para o arquivo CSS necessário sem ela. A regra de exemplo envolve a utilização do arquivo stylesheet.css localizado na pasta estilos, que se destina a formatar o documento para dispositivos com saída de informações paginadas (impressão - impressoras, projeção - projetores de slides e dispositivos similares).
Diretamente no documento html da página web.
Para fazer isso, use a regra CSS @media, dentro da qual são especificadas as propriedades de formatação do documento e os valores necessários para elas. Imediatamente após a palavra-chave @media, um ou mais tipos de mídia (separados por vírgulas) são especificados para os quais a formatação é executada:
@impressão de mídia, projeção (
corpo (tamanho da fonte: 12pt; altura da linha: 110%; fundo: branco;)
}
@tela de mídia (
corpo (tamanho da fonte: médio; altura da linha: 2em; fundo: prata;)
}
Como você pode imaginar, no exemplo, na primeira regra @media, são descritas as propriedades CSS para o espaço de trabalho do documento (
), destinado à sua exibição em dispositivos com saída de informações paginadas (impressão, projeção). E a última regra determina a aparência da página exibida na tela (tela).Recomendações para formatação da versão impressa do documento.
Conforme mencionado acima, a página da web deve ser formatada adequadamente antes de ser impressa. Ou seja, o arquivo CSS necessário deve ser conectado ao documento usando um dos métodos discutidos no parágrafo anterior. Uma maneira conveniente de criar esse arquivo é descrita resumidamente nesta postagem. Só precisamos observar algumas diretrizes importantes que precisam ser seguidas ao editar um arquivo CSS destinado a uma página impressa.
Altere o esquema de cores usado para exibir a página na tela.
Se, ao exibir um documento na tela, for utilizada qualquer imagem de fundo ou apenas um preenchimento de fundo, e também se você usar uma fonte colorida diferente da versão padrão (preto), então ao criar um arquivo CSS para impressão, você precisa cancele esta formatação. A página impressa deve ser o mais simples possível - fundo branco e fonte preta. Muitos usuários usam o modo de impressão em preto e branco para imprimir documentos da web. Além disso, imprimir uma página com um esquema de cores rico aumenta significativamente o consumo de tinta ou toner.
Altere o tipo de fonte que você usa.
No design de texto da maioria das páginas da web destinadas à leitura online, são utilizadas fontes serifadas - sans serif (sans serif), por serem consideradas mais convenientes ao ler na tela de um monitor. Mas ao transferir a página para o papel, a situação muda e as fontes serifadas, que se caracterizam por pequenos elementos decorativos (serifas) no final de cada letra, serão mais adequadas. Acredita-se que são as serifas que ajudam a direcionar o olhar do usuário na direção certa – ao longo do texto. Portanto, grandes quantidades de texto devem ser formatadas em fonte serifada (Times New Roman, Georgia, Palatino e outras).
Preste atenção ao tamanho da fonte.
Se for aceitável usar um tamanho de fonte relativamente pequeno (11 pixels, e às vezes menos) para exibir o texto na tela, então para a versão impressa da página é necessário aumentá-lo para pelo menos 12 pixels, mas não menos - tudo depende do público ao qual o conteúdo se destina.documentar informações.
Destaque os links usados na página.
Para que a informação colocada na página seja expressa da forma mais completa, ao transferi-la para o papel, é necessário destacar visualmente todos os hiperlinks nela presentes, pois neste caso eles não são mais clicáveis e devem ter um forma especial de exibição. Para isso, eles costumam sublinhar links e alterar a cor da fonte do texto âncora para azul.
Remova imagens desnecessárias.
A importância das imagens utilizadas em um documento web é determinada por diversos fatores, dependendo tanto do seu desenvolvedor quanto do departamento de marketing da empresa proprietária do site. O ideal é deixar apenas aquelas imagens que carregam informações semânticas, sendo ilustrações do texto apresentado, bem como a logomarca do site, geralmente localizada no canto superior esquerdo da página.
Remova os elementos de navegação.
Entre os muitos componentes inúteis em uma versão impressa de uma página web estão o menu de navegação e outros elementos que de alguma forma estão relacionados à navegação do site. Portanto, ao deixá-los na página durante a impressão, você simplesmente desperdiça tinta. Além disso, ao removê-los, você liberará espaço útil adicional para o texto e, assim, apresentá-lo-á de uma forma mais legível.
Remova anúncios desnecessários.
Idealmente, para os utilizadores que imprimem uma página Web para lerem a informação que ela contém, os anúncios sob a forma de banners e outras formas de informação gráfica e textual não proporcionam qualquer valor. E seria necessário livrar-se completamente dele no nosso caso, mas a realidade dita as suas condições. A maioria dos sites na Internet existe graças à publicidade e, portanto, a sua remoção pode ter consequências negativas. Portanto, os produtos promocionais apresentados no site muitas vezes permanecem quando as páginas são impressas, mas se você puder reduzir ao mínimo o seu número ou simplificar a forma como são apresentados, então isso será o ideal. Tente encontrar um meio-termo, se possível.
Remova todas as imagens animadas.
Elementos gráficos interativos controlados por scripts, bem como imagens animadas em Flash, via de regra, são impressos incorretamente e, em alguns casos, defeitos na impressão (“rastejamento”) podem afetar a qualidade da exibição do texto, o que é totalmente inaceitável.
Informações do autor.
Mesmo que em seu site, ao publicar artigos, não sejam indicadas informações sobre seu autor (e isso é recomendado), esses dados devem ser incluídos nas páginas para impressão. Isso permitirá que os usuários que imprimem o material de origem e trabalham com ele de uma forma e/ou local mais conveniente possam encontrar informações sobre o autor sem ter que revisitar seu site.
Use o URL completo do seu site.
Incluir o URL completo da página impressa no final da página é muito importante. Isso permitirá que os usuários retornem rapidamente a ele e utilizem qualquer link que leve a outra página contendo informações ampliadas sobre o assunto em questão ou para outra finalidade. De qualquer forma, isso incentiva o usuário a visitar seu recurso novamente. Além disso, com a posterior reprodução da página impressa (por meio de fotocópias, por exemplo), mais pessoas conhecerão o seu site.
Inclua informações de direitos autorais.
Todas as informações contidas em seu recurso da web são protegidas por direitos autorais e pertencem somente a você. Mesmo que um usuário, guiado apenas pelas intenções do consumidor, imprima uma página, isso não significa que as informações nela contidas possam agora ser utilizadas para fins comerciais. Portanto, as informações de direitos autorais devem ser transferidas para a cópia impressa do documento. É claro que isso não impedirá o roubo, mas pelo menos lembrará ao invasor que você possui os direitos autorais dessas informações.
Seguindo todas as recomendações acima para formatação de páginas da web destinadas à impressão, você poderá atender às necessidades da maioria dos usuários que, por diversos motivos, são obrigados a trabalhar com documentos impressos em impressora. E isso, por consequência, vai te ajudar a formar um grupo de usuários que compõem o público-alvo do seu site.
Visualizações de postagens: 330
A obtenção de dados privados nem sempre significa hackear - às vezes eles são publicados publicamente. O conhecimento das configurações do Google e um pouco de engenhosidade permitirão que você encontre muitas coisas interessantes - desde números de cartão de crédito até documentos do FBI.
AVISO
Todas as informações são fornecidas apenas para fins informativos. Nem os editores nem o autor são responsáveis por qualquer possível dano causado pelos materiais deste artigo.Hoje tudo está conectado à Internet, pouco se preocupando em restringir o acesso. Portanto, muitos dados privados tornam-se presas dos motores de busca. Os robôs aranhas não estão mais limitados a páginas da web, mas indexam todo o conteúdo disponível na Internet e adicionam constantemente informações não públicas aos seus bancos de dados. Descobrir esses segredos é fácil – você só precisa saber como perguntar sobre eles.
Procurando por arquivos
Em mãos capazes, o Google encontrará rapidamente tudo o que não é encontrado na Internet, por exemplo, informações pessoais e arquivos de uso oficial. Muitas vezes estão escondidos como uma chave debaixo do tapete: não há restrições reais de acesso, os dados simplesmente ficam no verso do site, onde nenhum link leva. A interface web padrão do Google oferece apenas configurações básicas de pesquisa avançada, mas mesmo estas serão suficientes.
Você pode limitar sua pesquisa no Google a um tipo específico de arquivo usando dois operadores: filetype e ext . O primeiro especifica o formato que o mecanismo de busca determinou a partir do título do arquivo, o segundo especifica a extensão do arquivo, independentemente de seu conteúdo interno. Ao pesquisar em ambos os casos, você só precisa especificar a extensão. Inicialmente, o operador ext era conveniente para uso nos casos em que o arquivo não possuía características específicas de formato (por exemplo, para pesquisar arquivos de configuração ini e cfg, que poderiam conter qualquer coisa). Agora os algoritmos do Google mudaram e não há diferença visível entre os operadores – na maioria dos casos os resultados são os mesmos.
Filtrando os resultados
Por padrão, o Google pesquisa palavras e, em geral, quaisquer caracteres inseridos em todos os arquivos das páginas indexadas. Você pode limitar a área de pesquisa por domínio de nível superior, um site específico ou pela localização da sequência de pesquisa nos próprios arquivos. Para as duas primeiras opções, utilize o operador site, seguido do nome do domínio ou site selecionado. No terceiro caso, todo um conjunto de operadores permite pesquisar informações em campos de serviço e metadados. Por exemplo, allinurl encontrará o dado no corpo dos próprios links, allinanchor - no texto equipado com a tag , allintitle - nos títulos das páginas, allintext - no corpo das páginas.
Para cada operador existe uma versão leve com um nome mais curto (sem o prefixo all). A diferença é que allinurl encontrará links com todas as palavras, e inurl encontrará links apenas com a primeira delas. A segunda palavra e as subsequentes da consulta podem aparecer em qualquer lugar nas páginas da web. O operador inurl também difere de outro operador com significado semelhante - site. O primeiro também permite encontrar qualquer sequência de caracteres em um link para o documento pesquisado (por exemplo, /cgi-bin/), que é amplamente utilizado para encontrar componentes com vulnerabilidades conhecidas.
Vamos tentar na prática. Pegamos o filtro allintext e fazemos com que a solicitação produza uma lista de números e códigos de verificação de cartões de crédito que expirarão apenas em dois anos (ou quando seus donos se cansarem de alimentar todo mundo).
Allintext: data de validade do número do cartão /2017 cvv
Quando você lê nas notícias que um jovem hacker “invadiu os servidores” do Pentágono ou da NASA, roubando informações confidenciais, na maioria dos casos estamos falando exatamente dessa técnica básica de uso do Google. Suponha que estejamos interessados em uma lista de funcionários da NASA e suas informações de contato. Certamente tal lista está disponível em formato eletrônico. Por conveniência ou por descuido, também pode estar no próprio site da organização. É lógico que neste caso não haverá links para o mesmo, visto que se destina ao uso interno. Que palavras podem estar nesse arquivo? No mínimo - o campo “endereço”. Testar todas essas suposições é fácil.
Inurl:nasa.gov tipo de arquivo:xlsx "endereço"
Usamos burocracia
Achados como esse são um toque legal. Uma captura verdadeiramente sólida é fornecida por um conhecimento mais detalhado dos operadores do Google para webmasters, da própria Rede e das peculiaridades da estrutura do que se busca. Conhecendo os detalhes, você pode filtrar facilmente os resultados e refinar as propriedades dos arquivos necessários para obter dados verdadeiramente valiosos no restante. É engraçado que a burocracia venha em socorro aqui. Produz formulações padrão que são convenientes para a busca de informações secretas vazadas acidentalmente na Internet.
Por exemplo, o carimbo de declaração de distribuição, exigido pelo Departamento de Defesa dos EUA, significa restrições padronizadas à distribuição de um documento. A letra A denota lançamentos públicos nos quais não há nada secreto; B - destinado apenas ao uso interno, C - estritamente confidencial, e assim sucessivamente até F. A letra X se destaca separadamente, que marca informações particularmente valiosas que representam segredo de Estado do mais alto nível. Deixemos aqueles que deveriam fazer isso de plantão procurarem tais documentos, e nos limitaremos aos arquivos com a letra C. De acordo com a diretriz DoDI 5230.24, essa marcação é atribuída a documentos que contenham uma descrição de tecnologias críticas que estão sob controle de exportação . Você pode encontrar essas informações cuidadosamente protegidas em sites no domínio de nível superior.mil, alocado para o Exército dos EUA.
"DECLARAÇÃO DE DISTRIBUIÇÃO C" inurl:navy.mil
É muito conveniente que o domínio .mil contenha apenas sites do Departamento de Defesa dos EUA e suas organizações contratadas. Os resultados da pesquisa com restrição de domínio são excepcionalmente claros e os títulos falam por si. Procurar segredos russos desta forma é praticamente inútil: o caos reina nos domínios.ru e.rf, e os nomes de muitos sistemas de armas soam como botânicos (PP “Kiparis”, canhões autopropelidos “Akatsia”) ou mesmo fabulosos ( TOS “Buratino”).
Ao estudar cuidadosamente qualquer documento de um site no domínio .mil, você poderá ver outros marcadores para refinar sua pesquisa. Por exemplo, uma referência às restrições à exportação “Sec 2751”, que também é conveniente para procurar informações técnicas interessantes. De vez em quando ele é removido dos sites oficiais onde apareceu uma vez, então se você não conseguir seguir um link interessante nos resultados da pesquisa, use o cache do Google (operador de cache) ou o site Internet Archive.
Subindo nas nuvens
Além de documentos governamentais desclassificados acidentalmente, links para arquivos pessoais do Dropbox e outros serviços de armazenamento de dados que criam links “privados” para dados publicados publicamente aparecem ocasionalmente no cache do Google. Pior ainda é com serviços alternativos e caseiros. Por exemplo, a consulta a seguir encontra dados de todos os clientes da Verizon que possuem um servidor FTP instalado e usam ativamente seu roteador.
Allinurl:ftp://verizon.net
Existem agora mais de quarenta mil pessoas tão inteligentes e, na primavera de 2015, havia muito mais delas. Em vez de Verizon.net, você pode substituir o nome de qualquer provedor conhecido e, quanto mais famoso for, maior será o problema. Através do servidor FTP integrado, você pode ver os arquivos em um dispositivo de armazenamento externo conectado ao roteador. Geralmente é um NAS para trabalho remoto, uma nuvem pessoal ou algum tipo de download de arquivo ponto a ponto. Todo o conteúdo dessa mídia é indexado pelo Google e outros mecanismos de busca, para que você possa acessar arquivos armazenados em unidades externas por meio de um link direto.
Olhando as configurações
Antes da migração generalizada para a nuvem, servidores FTP simples governavam como armazenamento remoto, que também apresentava muitas vulnerabilidades. Muitos deles ainda são relevantes hoje. Por exemplo, o popular programa WS_FTP Professional armazena dados de configuração, contas de usuário e senhas no arquivo ws_ftp.ini. É fácil de encontrar e ler, pois todos os registros são salvos em formato de texto e as senhas são criptografadas com o algoritmo Triple DES após ofuscação mínima. Na maioria das versões, simplesmente descartar o primeiro byte é suficiente.
É fácil descriptografar essas senhas usando o utilitário WS_FTP Password Decryptor ou um serviço da web gratuito.
Quando se fala em hackear um site arbitrário, geralmente significa obter uma senha de logs e backups de arquivos de configuração de CMS ou aplicativos de comércio eletrônico. Se você conhece sua estrutura típica, poderá indicar facilmente as palavras-chave. Linhas como as encontradas em ws_ftp.ini são extremamente comuns. Por exemplo, em Drupal e PrestaShop há sempre um identificador de usuário (UID) e uma senha correspondente (pwd), e todas as informações são armazenadas em arquivos com extensão .inc. Você pode procurá-los da seguinte maneira:
"pwd=" "UID=" ext:inc
Revelando senhas de DBMS
Nos arquivos de configuração dos servidores SQL, os nomes de usuários e endereços de e-mail são armazenados em texto não criptografado e seus hashes MD5 são gravados em vez de senhas. A rigor, é impossível descriptografá-los, mas você pode encontrar uma correspondência entre os pares hash-senha conhecidos.
Ainda existem SGBDs que nem usam hash de senha. Os arquivos de configuração de qualquer um deles podem ser simplesmente visualizados no navegador.
Intext:DB_PASSWORD tipo de arquivo:env
Com o advento dos servidores Windows, o lugar dos arquivos de configuração foi parcialmente ocupado pelo registro. Você pode pesquisar suas ramificações exatamente da mesma maneira, usando reg como tipo de arquivo. Por exemplo, assim:
Tipo de arquivo:reg HKEY_CURRENT_USER "Senha"=
Não vamos esquecer o óbvio
Às vezes é possível obter informações confidenciais usando dados que foram abertos acidentalmente e chegaram ao conhecimento do Google. A opção ideal é encontrar uma lista de senhas em algum formato comum. Somente pessoas desesperadas podem armazenar informações de contas em um arquivo de texto, documento do Word ou planilha do Excel, mas sempre há um número suficiente delas.
Tipo de arquivo:xls inurl:senha
Por um lado, existem muitos meios para prevenir tais incidentes. É necessário especificar direitos de acesso adequados no htaccess, corrigir o CMS, não usar scripts para canhotos e fechar outras lacunas. Há também um arquivo com uma lista de exceções robots.txt que proíbe os mecanismos de pesquisa de indexar os arquivos e diretórios nele especificados. Por outro lado, se a estrutura do robots.txt em algum servidor for diferente do padrão, fica imediatamente claro o que eles estão tentando esconder nele.
A lista de diretórios e arquivos em qualquer site é precedida pelo índice padrão de. Como para fins de serviço deve aparecer no título, faz sentido limitar a sua busca ao operador do título. Coisas interessantes estão nos diretórios /admin/, /personal/, /etc/ e até mesmo /secret/.
Fique atento às atualizações
A relevância é extremamente importante aqui: vulnerabilidades antigas são eliminadas muito lentamente, mas o Google e seus resultados de pesquisa estão em constante mudança. Existe até uma diferença entre um filtro de “último segundo” (&tbs=qdr:s no final da URL da solicitação) e um filtro de “tempo real” (&tbs=qdr:1).
O intervalo de tempo da data da última atualização do arquivo também é indicado implicitamente pelo Google. Através da interface gráfica web, você pode selecionar um dos períodos padrão (hora, dia, semana, etc.) ou definir um intervalo de datas, mas este método não é adequado para automação.
Pela aparência da barra de endereço, você só pode adivinhar uma maneira de limitar a saída de resultados usando a construção &tbs=qdr:. A letra y depois de definir o limite de um ano (&tbs=qdr:y), m mostra os resultados do último mês, w - da semana, d - do dia anterior, h - da última hora, n - por um minuto, e s - por um segundo. Os resultados mais recentes que o Google acaba de divulgar são encontrados através do filtro &tbs=qdr:1 .
Se você precisar escrever um script inteligente, será útil saber que o intervalo de datas é definido no Google no formato Juliano usando o operador daterange. Por exemplo, é assim que você encontra uma lista de documentos PDF com a palavra confidencial, baixados de 1º de janeiro a 1º de julho de 2015.
Tipo de arquivo confidencial: intervalo de datas em pdf: 2457024-2457205
O intervalo é indicado no formato de data juliana sem levar em conta a parte fracionária. Traduzi-los manualmente do calendário gregoriano é inconveniente. É mais fácil usar um conversor de data.
Segmentação e filtragem novamente
Além de especificar operadores adicionais na consulta de pesquisa, eles podem ser enviados diretamente no corpo do link. Por exemplo, a especificação filetype:pdf corresponde à construção as_filetype=pdf . Isto torna conveniente pedir quaisquer esclarecimentos. Digamos que a saída de resultados apenas da República de Honduras seja especificada adicionando a construção cr=countryHN ao URL de pesquisa, e apenas da cidade de Bobruisk - gcs=Bobruisk. Você pode encontrar uma lista completa na seção do desenvolvedor.
As ferramentas de automação do Google são projetadas para facilitar a vida, mas muitas vezes acrescentam problemas. Por exemplo, a cidade do usuário é determinada pelo IP do usuário através do WHOIS. Com base nessas informações, o Google não apenas equilibra a carga entre os servidores, mas também altera os resultados da pesquisa. Dependendo da região, para a mesma solicitação, resultados diferentes aparecerão na primeira página, podendo alguns deles ficar completamente ocultos. O código de duas letras após a diretiva gl=country ajudará você a se sentir cosmopolita e a buscar informações de qualquer país. Por exemplo, o código da Holanda é NL, mas o Vaticano e a Coreia do Norte não têm o seu próprio código no Google.
Muitas vezes, os resultados da pesquisa ficam confusos mesmo depois de usar vários filtros avançados. Neste caso, é fácil esclarecer a solicitação adicionando várias palavras de exceção (um sinal de menos é colocado na frente de cada uma delas). Por exemplo, serviços bancários, nomes e tutoriais são frequentemente usados com a palavra Pessoal. Portanto, resultados de pesquisa mais limpos serão mostrados não por um exemplo clássico de consulta, mas por um exemplo refinado:
Intitle:"Índice de /Pessoal/" -names -tutorial -banking
Um último exemplo
Um hacker sofisticado se distingue pelo fato de fornecer sozinho tudo o que precisa. Por exemplo, VPN é algo conveniente, mas caro ou temporário e com restrições. Inscrever-se para uma assinatura é muito caro. É bom que existam assinaturas de grupo e com a ajuda do Google é fácil fazer parte de um grupo. Para fazer isso, basta encontrar o arquivo de configuração da Cisco VPN, que possui uma extensão PCF bastante fora do padrão e um caminho reconhecível: Arquivos de programas\Cisco Systems\VPN Client\Profiles. Um pedido e você se junta, por exemplo, à simpática equipe da Universidade de Bonn.
Tipo de arquivo: pcf vpn OU Grupo
INFORMAÇÕES
O Google encontra arquivos de configuração de senha, mas muitos deles são criptografados ou substituídos por hashes. Se você vir strings de comprimento fixo, procure imediatamente um serviço de descriptografia.As senhas são armazenadas criptografadas, mas Maurice Massard já escreveu um programa para descriptografá-las e o fornece gratuitamente em thecampusgeeks.com.
O Google executa centenas de tipos diferentes de ataques e testes de penetração. Existem muitas opções que afetam programas populares, principais formatos de banco de dados, inúmeras vulnerabilidades de PHP, nuvens e assim por diante. Saber exatamente o que você procura tornará muito mais fácil encontrar as informações que você precisa (especialmente informações que você não pretendia tornar públicas). Shodan não é o único que alimenta ideias interessantes, mas sim todo banco de dados de recursos de rede indexados!
No qual ele indicou que as páginas de detalhes do pedido eram inutilizáveis na forma impressa.
Fiquei surpreso quando vi esse tweet - percebi que já fazia muito tempo que não otimizava estilos para impressão e nem pensei em verificá-los.
Isso pode ocorrer porque passo muito tempo redimensionando a janela do navegador para garantir que meus sites funcionem perfeitamente em todos os tamanhos e formatos, ou talvez porque raramente imprimo páginas para mim mesmo. Independentemente dos motivos, esqueci completamente dos estilos de impressão e isso é ruim.
Otimizar páginas da web para impressão é importante porque ao imprimir páginas tornamos o site o mais acessível possível, independente do ambiente. Não devemos fazer suposições sobre nossos usuários e seu comportamento. As pessoas continuam digitando páginas da web. Pense em artigos, postagens em blogs, receitas, informações de contato, mapas ou sites imobiliários. Alguém provavelmente tentará imprimir uma de suas páginas em algum momento.
Desisti das impressoras domésticas há muito tempo porque elas sempre pareciam quebrar após 10 minutos de uso. Mas nem todo mundo é como eu. - Haydon Pickering (padrões de design inclusivos)
Se você se encontrar em uma posição semelhante, esta postagem o ajudará com uma rápida atualização. Se você não otimizou suas páginas para impressão, as dicas a seguir o ajudarão a começar.
1. Conectando estilos para impressão
A melhor maneira de incluir estilos para impressão é declarar uma diretiva @media em seu CSS.
Body ( font-size: 18px; ) @media print ( /* estilos de impressão vão aqui */ body ( font-size: 28px; ) )
Alternativamente, você pode incluir estilos em HTML, mas isso exigirá uma solicitação HTTP adicional.
2. Teste
Você não precisa imprimir uma página toda vez que fizer uma pequena alteração nos estilos. Dependendo do seu navegador, você pode exportar a página para PDF, usar a visualização de impressão ou depurar diretamente no navegador.
Para depurar estilos de impressão no Firefox, abra o painel de desenvolvimento (Shift + F2 ou Ferramentas > Desenvolvedor Web > Barra de ferramentas do desenvolvedor), digite media emulate print no campo de entrada e pressione Enter. A guia ativa se comportará como se o tipo de mídia fosse impresso até ser recarregada.
Emulando estilos de impressão no Firefox
No Chrome, abra as ferramentas do desenvolvedor (CMD + Opt + I (macOS) ou Ctrl + Shift + I (Windows) ou Exibir > Desenvolvedor > Ferramentas do desenvolvedor) e abra o console, abra o painel de renderização e selecione Imprimir em Emular CSS Menu de mídia.
Emulando estilos de impressão no Chrome
3. Unidades de medida absolutas
Unidades absolutas são ruins na tela, mas ótimas para impressão. Nos estilos de impressão, seu uso é totalmente seguro e ainda é recomendado o uso de unidades como cm, mm, pol, pt ou pc.
Seção (margem inferior: 2 cm;)
4. Regras específicas para páginas
Você pode definir propriedades específicas da página impressa, como dimensões, orientação e preenchimento, usando a diretiva @page. Isso é muito conveniente se você deseja que todas as páginas tenham determinados recuos.
@media print ( @page (margem: 1cm;))
A diretiva @page faz parte da especificação do Paged Media Module, que possui recursos excelentes, como a capacidade de selecionar a primeira página a ser impressa ou páginas em branco, posicionar elementos no canto da página e muito mais. Isso pode até ser usado para imprimir livros.
5. Gerenciando quebras de página
Como as páginas impressas, diferentemente das páginas da Web, não são infinitas, o conteúdo será dividido entre as páginas. Temos 5 propriedades para controlar como isso acontece.
Quebra de página antes do elemento.
Se quisermos que o elemento esteja sempre no início da página, podemos forçar uma quebra de página usando a regra de quebra de página antes.
Seção (quebra de página antes: sempre;)
Quebra de página após elemento.
A regra de quebra de página nos permite forçar ou desabilitar quebras de página após um elemento.
H2 (quebra de página depois: sempre;)
Quebra de página dentro de um elemento
Esta propriedade é útil se você precisar evitar quebras de página dentro de um elemento.
Ul (quebra de página dentro: evitar;)
Viúvas e Órfãos (Linhas Suspensas)
Às vezes você não precisa de controle sobre as quebras de página, mas precisa de controle sobre quantas linhas aparecem na página atual e quantas na próxima página. Por exemplo, se a última linha de um parágrafo não couber na página atual, ela será movida para a próxima página junto com a penúltima. Isso ocorre porque o padrão da propriedade das viúvas correspondente é 2. Podemos alterá-lo.
P (viúvas: 4;)
Se encontrarmos o outro lado deste problema e apenas a primeira linha de um parágrafo couber na página atual, então o parágrafo inteiro começará na próxima página. A propriedade órfãs e seu valor padrão 2 são responsáveis por isso.
P(órfãos: 3;)
Este código significa que pelo menos 3 linhas devem caber na página atual para que o parágrafo não seja transferido para a próxima.
Nem todas essas propriedades e valores funcionam em todos os navegadores; você deve verificar os estilos de impressão em diferentes navegadores.
6. Redefinir estilos
Faz sentido redefinir alguns estilos como background-color , box-shadow e color para impressão.
*, *:antes, *:depois, *:primeira letra, p:primeira linha, div:primeira linha, blockquote:primeira linha, li:primeira linha ( background: transparente !importante; cor: #000 !importante; box-shadow: nenhum !importante; text-shadow: nenhum !importante; )
Os estilos de impressão são uma das poucas exceções em que o uso da palavra-chave!important é adequado.
7. Removendo conteúdo desnecessário
Para evitar o desperdício de tinta, você deve remover itens desnecessários – elementos de design, publicidade, navegação, etc. usando a propriedade display: none.
Basicamente, você pode mostrar apenas o conteúdo principal e ocultar todo o resto:
Corpo > *:not(principal) ( display: nenhum; )
8. Imprimir endereços de links
A:depois (conteúdo: "(" attr(href) ")"; )
Claro, tudo será mostrado desta forma: links relativos, links absolutos, âncoras, etc. A seguinte opção funcionará melhor:
A:not():after ( content: " (" attr(href) ")"; )
Parece loucura, eu sei. A forma como essas linhas funcionam é exibir o valor do atributo href próximo a qualquer link que possua um, se ele começar com http, mas não apontar para nosso mywebsite.com.
9. Impressão de abreviaturas
As abreviaturas devem ser agrupadas com um elemento indicando a descriptografia no atributo title. Faz sentido imprimir isso.
Abbr:depois (conteúdo: "(" attr(título) ")"; )
10. Imprimir fundo
Os navegadores geralmente não imprimem a cor e as imagens de fundo, a menos que você solicite explicitamente. Existe uma propriedade de ajuste de cores de impressão não padronizada que permite substituir as configurações padrão em alguns navegadores.
Cabeçalho ( -webkit-print-color-adjust: exato; print-color-adjust: exato; )
11. Consultas de mídia
Se você escrever consultas de mídia como no exemplo a seguir, lembre-se de que os estilos nesta consulta de mídia não serão aplicados quando impressos.
@media screen e (largura mínima: 48em) ( /* somente tela */ )
Você vai perguntar por quê? Porque as regras CSS só são aplicadas quando ambas as condições são atendidas: min-width é 48em , media-type é screen . Se nos livrarmos da palavra-chave screen, a consulta de mídia levará em consideração apenas o valor da largura mínima.
@media (largura mínima: 48em) ( /* todos os tipos de mídia */ )
12. Impressão de cartões
As versões atuais do Firefox e do Chrome podem imprimir mapas, mas o Safari não. Alguns serviços fornecem mapas estáticos que podem ser impressos em vez do original.
Mapa (largura: 400px; altura: 300px; imagem de fundo: url("http://maps.googleapis.com/maps/api/staticmap?center=Wien+Floridsdorf&zoom=13&scale=false&size=400x300&maptype=roadmap&format=png&visual_refresh=true "); -webkit-print-color-adjust: exato; print-color-adjust: exato; )
13. Códigos QR
Complemento 2: Gutenberg
Se você está procurando um framework, talvez goste do Gutenberg, que facilita um pouco a otimização de suas páginas.
Adendo 3: Hartia
Esta é outra estrutura para criar estilos de impressão a partir de