Jump to content
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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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..

Share this post


Link to post
Share on other 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 ;)

Share this post


Link to post
Share on other 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".

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Pitag346
      Olá pessoal, tudo bem? 
      Estou com uma dúvida bem bobinha... mas gostaria que me ajudassem a solucionar.
       
      Alguns sites utilizam uma forma de carregar as imagens deixando elas embaçadas/desfocadas. Até que são carregadas e elas aparecerem normalmente...
       
      Exemplo básico seria esse site: https://www.redbull.com/br-pt/athletes
       
      Sabem me explicar como isso é feito, e pra que ? Meu site usa bastante imagens, gostaria de saber se tem algum benefício ou se seria somente estética ... Obrigado! 
       
      (Não sei se isso é feito em JavaScript, acredito que sim... perdão se publiquei na área errada).
    • By ment0r
      Boa noite minha gente, tudo bem com vocês?
       
      Eu estou fazendo um formulário simples que carrega uma imagem, um título e um texto. Queria que quando a imagem fosse carregada uma função JavaScript validasse sua extensão, só permitindo .jpg, .jpeg, .gif, .bmp e .png e só liberasse o botão Cadastrar quando uma dessas 5 opções fossem escolhidas (ou não, só exibindo que a extensão não está correta e não permitir o carregamento já está ótimo).
       
      Tenho esse código abaixo (que peguei na internet), mas não sei como chamá-lo, uma vez que eu tenho duas etapas:
      1) Clicar no botão Browse - pra escolher a imagem.
      2) Escolher a imagem e clicar em Abrir.
       
      Com onclick no <input type="file"> não deu... Enfim, se alguém puder me ajudar, eu ficarei muito agradecido.
       
      Um grande abraço a todos.
       
      if (document.getElementById('file').value == "") { formfotos.botao.disabled = true; formfotos.botao.value = 'Selecione a foto'; }else { caminho = document.getElementById('file').value; var extensao; extensao = caminho.split("/"); extensao = extensao[ (extensao.length-1) ].split("."); extensao = extensao[ (extensao.length-1) ]; if (extensao != "jpg" && extensao != "gif" && extensao != "bmp") { formfotos.botao.disabled = true; formfotos.botao.value = 'Escolha a foto'; }else { formfotos.botao.disabled = false; formfotos.botao.value = 'Enviar foto'; } }  
    • By lucas_gabriel
      Olá, boa noite!
      Gostaria de saber como faço para bloquear o acesso direto a diretórios? Por exemplo tem vários arquivos dentro de um diretório, passo o link para o usuário acessar um arquivo especifico mas não quero que ele consiga entrar no diretório e liste todos os arquivos que tem lá. Como eu faria para realizar essa restrição?
    • By Artur Mendonça
      Olá amigos,
      tenho um sistema para registar fotos e fazer o upload das mesmas com o seguinte código
      <?php ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL); session_start(); include_once("../../conexao.php"); //$titulo_artigo = $_POST['titulo_artigo']; //$nome $imagem2 = $_FILES['imagem']['name']; //$foto $imagem = $_FILES['imagem']; $adate = date('Y-m-d H:i:s'); $status ='process'; $albumid = $_REQUEST['id']; $pasta ='../../fotos/'; $resulta=mysqli_query($conectar,"SELECT * FROM tbl_album WHERE albumid='$albumid'"); $linhas = mysqli_fetch_assoc($resulta); $local= $linhas["local"]; $numfile = count(array_filter($imagem['name'])); $msg = array(); $errormsg = array( 1=> 'O arquivo é maior que o limite', 2=> 'O arquivo ultrapassa o limite de tamanho', 3=> 'O upload do arquivo foi feito parcialmente', 4=> 'Não feito o upload do arquivo' ); for($i = 0; $i < $numfile; $i++){ $name = $imagem['name'][$i]; $type = $imagem['type'][$i]; $size = $imagem['size'][$i]; $error = $imagem['error'][$i]; $tmp = $imagem['tmp_name'][$i]; $imagem2 = $_FILES['imagem']['name'][$i]; $extensao = @end(explode('.',$name)); //var_dump($nomefoto); //Validar extensão da imagem switch($type): case 'image/jpeg'; case 'image/pjpeg'; //Criar a imagem temporaria a ser manipulada ini_set('memory_limit', '-1'); $imagem_teporaria = imagecreatefromjpeg($tmp); break; case 'image/png'; case 'image/x-png'; //Criar a imagem temporaria a ser manipulada ini_set('memory_limit', '-1'); $imagem_teporaria = imagecreatefrompng($tmp); break; default: $_SESSION['msg'] = "<h3 style='color: red;'>Extensão ou tamanho da imagem inválida. A extensão deve ser JPG ou PNG e o tamanho máximo de 5mb</h3>"; //header("Location: ../addgimages2.php"); endswitch; //Importar a logo if ($local=='1'){ $logo = imagecreatefromgif("../../img/festivallogo.gif"); } else { $logo = imagecreatefromgif("../../img/logotipo.gif"); } //Obter a largura da logo $largura_logo = imagesx($logo); //Obter a altura da logo $altura_logo = imagesy($logo); //echo "$altura_logo - $largura_logo"; //Calcular posição x sendo 10px da lateral direita $x_logo = imagesx($imagem_teporaria) - $largura_logo - 10; //Calcular posição y sendo 10px do rodape $y_logo = imagesy($imagem_teporaria) - $altura_logo - 10; imagecopymerge($imagem_teporaria, $logo, $x_logo, $y_logo, 0, 0, $largura_logo, $altura_logo, 70); $imagemnome= time()."-".rand(). "-" .$imagem2; imagejpeg($imagem_teporaria, $pasta. $imagemnome); $query = mysqli_query($conectar,"INSERT INTO tbl_gallery ( aid, gimages, date, status) VALUES ('$albumid','$imagemnome', '$adate', '$status')") or die(mysqli_error($conectar)); } echo " <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.gfmonteverde.com/administrar/addgallery.php''> <script type=\"text/javascript\"> alert(\"imagens guardadas com sucesso.\"); </script> "; } ?> Este foi um código que encontrei na internet, mas já não lembro onde foi...
      O código funciona perfeitamente.
       
      Acontece que no pc tenho algumas fotos que estão na vertical, quando vejo no pc fica tudo bem, mas quando faço o upload as mesmas ficam na horizontal.

      Já tentei diversas formas, mas todas sem sucesso, até com o exif_read_data....
       
    • By mamotinho
      Olá, boa noite! estou em dúvidas e gostaria que alguém me ajudasse, bom eu tenho uma procedure no meu SQL 2017 e dentro da procedure tem if com com return de mensagem , e eu queria exibir essa mensagem após a pessoa executa a função no meu sistema. segue abaixo como está
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.