Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ana Gauna

Bloqueio de download de imagem e bloqueio de impressão

Recommended Posts

Eu já tentei diversas vezes, mas ainda não consegui fazer funcionar.  Inclusive já alterei o arquivo .htaccess mas isso não funcionou.  Estou tentando criar um bloqueio em página de site online, para bloquear o download de imagens, bloquear o download de fotografias.  Estou tentando também criar o bloqueio de impressão da tela de um site, para fazer o control p parar de funcionar em determinada página do site.    Vi na internet sites que tem isso funcionando direito.  Eu ainda não consegui criar.  Alguém sabe como fazer?   Eu sei um pouco de PHP, este mês comprei 3 livros novos de PHP que estou estudando para tentar me ajudar nas minhas dúvidas...

Boa noite

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!

 

o PHP trata o back-end, eu acho pouco provável que sua solução possa vir do PHP. Acredito que o javascript/jquery/angular poderia lhe ajudar nessa questão. Entretanto, lembre que com um simples printscreen a foto pode ser recortada e salva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto com os recursos do PHP quanto do apache você só poderá limitar acesso aos arquivos do servidor.

Hora que se esses limites tem suas condições no caso do apache uma vez que forem severas nem  próprio código fonte do website poderá acessar como de exemplo imagens.

Nem mesmo o browser poderá renderizar o conteúdo de acordo com essas limitações.

 

No máximo o que dará para fazer é limitar a ativação de eventos usando javascript. Entretanto o browser funciona de um jeito o SO de outro e não existe bloqueio realmente capaz de executar tal coisa.

Não importa o que faça sempre será possível obter qualquer dado/arquivo renderizado pelo navegador.

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 horas atrás, Alaerte Gabriel disse:

Boa noite!

 

o PHP trata o back-end, eu acho pouco provável que sua solução possa vir do PHP. Acredito que o javascript/jquery/angular poderia lhe ajudar nessa questão. Entretanto, lembre que com um simples printscreen a foto pode ser recortada e salva.

 

Vi uns sites na internet que isso está bloqueado. A pessoa que olha o site não consegue imprimir nada e não consegue fazer também o download de nenhuma imagem do site.  Eu estou querendo colocar uma página do meu site assim, mas ainda não consegui fazer isso funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Omar~ disse:

Tanto com os recursos do PHP quanto do apache você só poderá limitar acesso aos arquivos do servidor.

Hora que se esses limites tem suas condições no caso do apache uma vez que forem severas nem  próprio código fonte do website poderá acessar como de exemplo imagens.

Nem mesmo o browser poderá renderizar o conteúdo de acordo com essas limitações.

 

No máximo o que dará para fazer é limitar a ativação de eventos usando javascript. Entretanto o browser funciona de um jeito o SO de outro e não existe bloqueio realmente capaz de executar tal coisa.

Não importa o que faça sempre será possível obter qualquer dado/arquivo renderizado pelo navegador.

 

Existe sites na internet que esse bloqueio na impressão funciona, a pessoa que vê o site não consegue imprimir a página do site. E a pessoa que vê uma imagem ou vê uma fotografia, também não consegue fazer o download da imagem do site.  Não sei qual tecnologia de programação web, tem essa função de bloqueio.  Eu estou querendo criar esse tipo de bloqueio em uma página, dentro do meu site.  

Alguém sabe como esse bloqueio dentro de uma página web é feito? Eu já testei algumas coisas, mas que não funcionaram.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 horas atrás, Alaerte Gabriel disse:

Boa noite!

 

o PHP trata o back-end, eu acho pouco provável que sua solução possa vir do PHP. Acredito que o javascript/jquery/angular poderia lhe ajudar nessa questão. Entretanto, lembre que com um simples printscreen a foto pode ser recortada e salva.

 

Tenho livros de JavaScript, não achei nada a esse respeito.  Não sei JQuery, vou começar a estudar ele.  Não sei Angular, mas já comecei a estudar ele.  Vou procurar na busca do Google em Angular se tem algo falando de bloqueio em página de sites.  Obrigado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/08/2019 at 15:22, Ana Gauna disse:

 

Vi uns sites na internet que isso está bloqueado. A pessoa que olha o site não consegue imprimir nada e não consegue fazer também o download de nenhuma imagem do site.

Por favor poste o link para um destes sites.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/08/2019 at 14:45, Ana Gauna disse:

 

Tenho livros de JavaScript, não achei nada a esse respeito.  Não sei JQuery, vou começar a estudar ele.  Não sei Angular, mas já comecei a estudar ele.  Vou procurar na busca do Google em Angular se tem algo falando de bloqueio em página de sites.  Obrigado.

 

Ola boa noite @Ana Gauna veja se é isso que você precisa ele faz bloqueio não sei se para download ele vai fazer mais teste ai qualquer coisa poste ai se deu certo ou não


<script type="text/javascript">
 var t_cel,tc_ln;
 if(document.addEventListener){
   document.addEventListener("keydown",keyCapt,false);
   document.addEventListener("keyup",keyCapt,false);
   document.addEventListener("keypress",keyCapt,false);
 }else{
   document.attachEvent("onkeydown",keyCapt);
   document.attachEvent("onkeyup",keyCapt);
   document.attachEvent("onkeypress",keyCapt);
 }
 function keyCapt(e){
   if(typeof window.event!="undefined"){
    var e = (window.event) ? window.event : event;
   }
   if(e.type=="keydown"){
    if (e.keyCode==123) {
    e.returnValue = false;
    e.cancelBubble = true;
    e.keyCode = 0;
    e.stopPropagation();
    e.preventDefault();
    };
   }else if(e.type=="keyup"){
   }else if(e.type=="keypress"){
   }
 }
 </script>
<script type="text/javascript">
function click() {
if (event.button==2||event.button==3) {
oncontextmenu='return false';
}
}
function keypresed() {;
}
document.onmousedown=click
document.oncontextmenu = new Function("return false;")
</script>
<script type='text/javascript'>
var isCtrl = false;
document.onkeyup=function(e)
{
    if(e.which == 17)
    isCtrl=false;
}
document.onkeydown=function(e)
{
    if(e.which == 17)
    isCtrl=true;
    if((e.which == 85 || e.which == 83) && (isCtrl == true))
    {
        return false;
    }
}
var isNS = (navigator.appName == "Netscape") ? 1 : 0;
if(navigator.appName == "Netscape") document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
function mischandler(){
    return false;
}
function mousehandler(e){
    var myevent = (isNS) ? e : event;
    var eventbutton = (isNS) ? myevent.which : myevent.button;
    if((eventbutton==2)||(eventbutton==3)) return false;
}
document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;
</script>

Eu uso aqui e me ajuda muito...

Espero ter ajudado ai..

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/08/2019 at 23:37, Ana Gauna disse:

apara bloquear o CTRL+P ou imprimir só acrescentar o seguinte javascript que você acho neste link 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 26/08/2019 at 19:14, Ana Gauna disse:

Eu já tentei diversas vezes, mas ainda não consegui fazer funcionar.  Inclusive já alterei o arquivo .htaccess mas isso não funcionou.  Estou tentando criar um bloqueio em página de site online, para bloquear o download de imagens, bloquear o download de fotografias.  Estou tentando também criar o bloqueio de impressão da tela de um site, para fazer o control p parar de funcionar em determinada página do site.    Vi na internet sites que tem isso funcionando direito.  Eu ainda não consegui criar.  Alguém sabe como fazer?   Eu sei um pouco de PHP, este mês comprei 3 livros novos de PHP que estou estudando para tentar me ajudar nas minhas dúvidas...

Boa noite

@Ana Gauna Tem uma solução para o seu problema

Bom aqui esta o script completo para que seja bloqueada a tela para não copiar nada 

e também para não imprimir

se for dar ctrl+p a impressão não abre

<script type="text/javascript">
  // Combinação para bloquear ctrl+c ctrl+v
 var t_cel,tc_ln;
 if(document.addEventListener){
   document.addEventListener("keydown",keyCapt,false);
   document.addEventListener("keyup",keyCapt,false);
   document.addEventListener("keypress",keyCapt,false);
 }else{
   document.attachEvent("onkeydown",keyCapt);
   document.attachEvent("onkeyup",keyCapt);
   document.attachEvent("onkeypress",keyCapt);
 }
 function keyCapt(e){
   if(typeof window.event!="undefined"){
    var e = (window.event) ? window.event : event;
   }
   if(e.type=="keydown"){
    if (e.keyCode==123) {
    e.returnValue = false;
    e.cancelBubble = true;
    e.keyCode = 0;
    e.stopPropagation();
    e.preventDefault();
    };
   }else if(e.type=="keyup"){
   }else if(e.type=="keypress"){
   }
 }
 </script>
<script type="text/javascript">
function click() {
if (event.button==2||event.button==3) {
oncontextmenu='return false';
}
}
function keypresed() {;
}
document.onmousedown=click
document.oncontextmenu = new Function("return false;")
</script>
<script type='text/javascript'>
var isCtrl = false;
document.onkeyup=function(e)
{
    if(e.which == 17)
    isCtrl=false;
}
document.onkeydown=function(e)
{
    if(e.which == 17)
    isCtrl=true;
    if((e.which == 85 || e.which == 83) && (isCtrl == true))
    {
        return false;
    }
}
var isNS = (navigator.appName == "Netscape") ? 1 : 0;
if(navigator.appName == "Netscape") document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
function mischandler(){
    return false;
}
function mousehandler(e){
    var myevent = (isNS) ? e : event;
    var eventbutton = (isNS) ? myevent.which : myevent.button;
    if((eventbutton==2)||(eventbutton==3)) return false;
}
document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;

 // Combinação de teclas CTRL + P e bloquear a ejeção no navegador
var isCtrl = false;
document.onkeyup=function(e){
if(e.which == 17) isCtrl=false;
}
document.onkeydown=function(e){
if(e.which == 17) isCtrl=true;
if(e.which == 80 && isCtrl == true){    

return false;
}
}


</script>

Já para a impressão pelo navegador usar css

se a pessoa for imprimir ele traz uma tela em braco sem nada para impressão


<style media="print">.noprint {

DISPLAY: none

}

</style>

Já nas paginas que tu não quer se seja impressa coloca assim dentro do <body>

<body class="noprint">

Sucesso pra ti espero que seja o que você esteja querendo...

 

Espero ter ajudado em alguma coisa ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usar JavaScript ou CSS não causa qualquer efeito de bloqueio.
Basta desabilitar JavaScript (CSS) no navegador e desbloqueia tudo.
Há uma frase sábia que diz:
"Não quer que seu conteúdo seja copiado não publique".

Compartilhar este post


Link para o post
Compartilhar em outros sites

No console temos acesso a tudo que foi renderizado pelo browser.... Mesmo que exista qualquer tipo de bloqueio nenhum script pode interferir nessa questão...

 

Em outro caso podemos fazer o download do código e de seus elementos, o browser irá baixar tudo que é visível em tela e algumas coisas a mais, ou seja tudo que ele renderizou.... Mesmo que exista qualquer tipo de bloqueio nenhum script pode interferir nessa questão...

Ele só não fará download de recursos do servidor, que reitera que se bloquear pelo servidor o browser não irá executar pois não é entregue a ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, Maujor disse:

Usar JavaScript ou CSS não causa qualquer efeito de bloqueio.
Basta desabilitar JavaScript (CSS) no navegador e desbloqueia tudo.
A uma frase sábia que diz:
"Não quer que seu conteúdo seja copiado não publique".

 

De acordo...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/08/2019 at 15:22, Ana Gauna disse:

 

Vi uns sites na internet que isso está bloqueado. A pessoa que olha o site não consegue imprimir nada e não consegue fazer também o download de nenhuma imagem do site.  Eu estou querendo colocar uma página do meu site assim, mas ainda não consegui fazer isso funcionar.

Pelo php dá para fazer isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 12/09/2019 at 11:19, Alaerte Gabriel disse:

 

De acordo...

 

O bloqueio que eu quero fazer é esse = https://receitasdeamigas.com.br/%e2%99%a5%ef%b8%8f-pastel-de-tres-ingredientes-com-uma-massa-que-desmancha-na-boca-%f0%9f%a4%a4/?fbclid=IwAR1I6nYaq58fQH5BReYbB9TYPen_gjpUAvjOs5pA9mVggEeH-GmTBLoYhyY

nesse site não se consegue selecionar nada, quero criar algo assim em algumas páginas do meu site.

 

Hoje eu achei isso (ainda vou testar) = https://developer.mozilla.org/en-US/docs/Web/CSS/user-select

 

E vou testar as dicas que vocês me deram acima.  obrigado.  bom dia

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Ana Gauna disse:

 

Pois é né, o bloqueio como nós já dissemos não funciona é algo completamente ineficaz....

56500794_724983317896589_278415254034894

 

Está aí a imagem diretamente do website citado.

Olha o link:

https://receitasdeamigas.com.br/wp-content/f15d/uploads/receitasdeamigas.com.br/2019/04/56500794_724983317896589_2784152540348940288_n-960x400.jpg

 

Se quiser posto prints também da impressão do mesmo (Ctrl + P).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Omar~

uma das coisas que eu quero fazer e ainda não consegui fazer, está dentro desse site,  nele não se consegue fazer a seleção de trechos das palavras, nele o botão direito do mouse não funciona em itens que pertence ao site, eu gostei disso, e ainda não consegui criar.  

 

 

Nesse site do link acima o control p  funciona, mas eu já vi sites meses atrás em que o control p não funciona, não lembro qual site é agora.  

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ana Gauna

 

Não sei qual é a necessidade de se querer bloquear algo, do mesmo jeito que nós desenvolvedores quebramos a cabeça para construis a segurança, existe um outro tipo de desenvolvedor que quebra a cabeça para quebrar tal segurança e uma coisa que sempre é bom lembrar é que o melhor mesmo é difundir o conhecimento.

 

O Código que você precisa ou que deve te ajudar segue abaixo:

 

<!DOCTYPE HTML>
<html>
    <head>
    <!-- Meta -->
        <meta charset="UTF-8">
        <meta name="author" content="Felipe Guedes Coutinho Hashimoto">
        <meta name="description" content="Desabilitando Botão Direito do Mouse e Seleção de Texto e CTRL+P">
        <meta name="keywords" content="Desabilita Botao Seleção Texto Impressao">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <script language=JavaScript>
        window.onload = function() {
            document.onkeydown = function(e) {
                var code = e.keyCode || e.which;
                if (e.ctrlKey && (code == 80 || code == 112)) {
                    e.preventDefault && e.preventDefault();
                    return false;
                }
            }
        }
        var mensagem="";
        function clickIE() {
            if (document.all) {
                (mensagem);
                return false;
            }
        }
        function clickNS(e) {
        if (document.layers || (document.getElementById && !document.all)) {
            if (e.which==2 || e.which==3) {
                (mensagem);
                return false;
            }
            }
        }
        if (document.layers) {
            document.captureEvents(Event.MOUSEDOWN);
            document.onmousedown=clickNS;
        } else {
            document.onmouseup=clickNS;document.oncontextmenu=clickIE;
        }
        document.oncontextmenu=new Function("return false")
        </script>
    </head>
<body onselectstart="return false">
<hr>
<center>Bloquear seleção de texto do site
<hr>
<br>
<p>Para evitar que o usuário selecione o texto exposto na página,
inclua na TAG BODY o código (onselectstart="return false").
</p>
<p>
Tente SELECIONAR o TEXTO com o MOUSE ( FUNCIONOU? )
</p>
<p>
Tente clicar com o BOTÃO DIREITO do MOUSE ( FUNCIONOU? )
</p>
<p>
Tente imprimir a página usando CTRL + P ( FUNCIONOU? )
</p>
</center>
</body>
</html

Espero ter ajudado.

 

Att.

Felipe Coutinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ment0r
      Boa tarde à todos.
      Pessoal, estou com o seguinte problema: preciso imprimir uma ficha mensal de trabalho, mas quando vou imprimir, a página para impressão sai "cortada".
       

       
      A imagem acima representa a ficha que preciso imprimir, está tudo ok com essa (tirei o cabeçalho, pois não vinha ao caso)
       

       
      Vejam como fica na impressão: com aproximadamente 2/3 da largura.
       
      <style> body { width: 100%; height: 100%; margin: 0; padding: 0; background-color: #FAFAFA; } * { box-sizing: border-box; -moz-box-sizing: border-box; } .page { width: 210mm; min-height: 297mm; padding: 4mm; margin: 1mm auto; border: 1px #D3D3D3 solid; border-radius: 5px; background: white; box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); } /*.subpage { padding: 0.5cm; border: 0px red solid; height: 257mm; outline: 2cm #FFEAEA solid; }*/ .cliente { margin-top: 30px; font-size: 20px; } th {font-size: 14px; } td {font-size: 12px; } .logo {height: 64px; margin: 20px 0px 0px 20px;} .font-cabecalho {font-size: 12px; margin-left: 20px; text-align: center; margin: 20px 0px 0px 20px;} @page { width: 100%; height: 100%; margin: 0; padding: 0; } @media print { html, body { width: 210mm; height: 297mm; } .page { margin: 0; border: initial; border-radius: initial; width: initial; min-height: initial; box-shadow: initial; background: initial; page-break-after: always; } } </style> Código CSS da página.
       
      O que pode ser? Como faço pra deixar a página de impressão igual à página PHP? Obrigado desde já à todos.

      Um abraço.
       
    • Por ment0r
      Boa tarde pessoal, tudo bem?

      É possível remover o cabeçalho e rodapé da impressão de uma página html via php, css ou javascript? Já adianto que não gostaria de gerar pdf, mas sim saber se é possível remover ou não.
      Obrigado a todos.
       

    • Por Motta
      Prezados ,
      Onde tenho um Banco de Imagens de ícones Público disponível para dowmload.
       
      Coisa básica
    • Por LucasLV
      Olá.
      Tenho um site onde as imagens são geradas através de um arquivo PHP - utilizo esse método para retornar imagens webp ou jpg - e vi que o navegador não utiliza, ou não salva em cache, as imagens geradas dessa forma.
      Já as onde informo o caminho completo da imagem com a extensão, aparecem como utilizadas do cache.

      Esse comportamento é normal quando as imagens são geradas desse jeito ou é por não ter feito nenhuma configuração de cache no arquivo PHP que gera as imagens?
       
      Coloquei uma imagem do resultado exibido no navegador.

    • Por ernestovm
      Seguinte. Eu não, mas acho que TODOS os desenvolvedores estão no mato sem cachorro no que se refere a esse problemão, que é a atualização do site lá no browser do seu usuário/visitante. Seja no acesso pelo computador e, pior ainda, pelo celular.
      Quando altero o arquivo stylo.css ou alguma imagem o browser, principlmente o Google Chrome NÃO ATUALIZA. No computador, só atualiza se eu teclar CTRL+F5, mas se pensarmos no visitante não dá né? "Nivelando por baixo", imagine aquele visitante do seu site que não entende bulufas... Vou ter que colocar no site um aviso pra todo mundo apertar CTRL+F5 para atualizar a página? Quando? Sempre? Um INFERNO.
      E quanto ao acesso do visitante pelo celular? Pior ainda.
      Então estou à procura de uma solução transparente ao usuário. No que se refere às imagens, encontrei soluções razoáveis, mas quanto ao arquivo CSS, nada encontrei.
      Se alguém souber de alguma "mágica" que resolva esse problema, compartilhe. TODOS os demais desenvolvedores agradecem.
      Obrigado
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.