Jump to content
  • 0
Guilherme Morete Felix

Impedir download de documentos ou certificação!

Question

Olá,

Estamos upando arquivos em nossa plataforma via moodle, como base de regra, tais arquivos são em formato pdf.

Temos como objetivo que o aluno apenas abra e visualize o documento, porém não consiga fazer o download, cópia, impressão ou algo no sentido mencionado.

Caso não seja possível, uma saída secundária seria permitir a impressão dos arquivos com o cpf do aluno e um termo de compromisso como marca d'água.

Alguém poderia me relatar se essas alternativas são possíveis, quais são as possibilidades e se alguma pessoa pode ajudar nesse aspecto? Desde já, muito obrigado!

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Boa noite talvez a minha resposta não seja  a melhor mais acredito que se fizer isso resultara feito no que quer

 

Pelo .htaccess você pode definir  que o arquivos .pdf por exemplo não sejam acessados só fazer da seguinte forma

isso impedirá qualquer acesso remoto via HTTP a esses arquivos...

RewriteEngine On
RewriteRule \.(pdf)$ - [F]

outra forma de fazer

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(.+.)?seusite.com/ [NC]
RewriteRule .*.(zip|rar)$ http://www.seusite.com/erro.php  [L]

onde esta “(zip|rar)” estão as extensões que serão bloqueadas caso alguém faz tentativa de download. Você pode por outras extensões que desejar. EX (zip|rar|jpg|png|gif) etc..

 

 

Outros EX aqui

 

Share this post


Link to post
Share on other sites
  • 0

Antes de mais nada s solução apresentada pelo @Jack Oliveira é a única a qual você pode aderir pois desse forma como ele disse será impossível acessar diretamente o arquivo (não quer dizer que não possa baixa-lo).

Tenha em mente que uma vez renderizado para o usuário no caso um PDF ele possui o arquivo ele poderá acessá-lo, pois quando você o renderiza o browser dele fará o download dele automaticamente assim como qualquer outro conteúdo presente em um documento html seja texto, video, audio ou qualquer outro arquivo.

 

Em 19/05/2020 at 16:04, Guilherme Morete Felix disse:

permitir a impressão dos arquivos com o cpf do aluno e um termo de compromisso como marca d'água.

Já vi scripts no GitHub para impressão com marca baseadas em NodeJS, só que não as encontrei novamente (infelizmente)

Mesmo assim como disse:

- Se renderizou para o usuário já é dele....

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 asacap1000
      Galera já verifiquei vários páginas do google mas não encontrei o que precisava. Temos um sistema a qual no final temos a opção d imprimir os dados. que até aí está perfeito utilizo bootstrap para o layout e está ok. Porém preciso colocar a opção de pdf também aí não sai de jeito nenhum com o bootstrap. preciso gerar algo neste formato.
       

       
      Se alguem puder me dar um norte referente a isso agradeço demais.
    • By nazesaria
      Ola, gostaria de saber se tem alguma forma de eu baixar essas paginas completa em .php, se eu clico nela vai em uma pagina em branco.
      E acessando direto do site não teria como, gostaria de ser por esse metedo, é possível? Como?
    • By helkton
      galera minha duvida é a seguinte....
      faço a seguinte busca e monto um pdf pra um certificado, e neste certificado preciso coletar todas as materias referente ao curso do mesmo
      $sqlConteudoCurso = "SELECT * FROM conteudo_curso where idCursoConteudo = '$idCurso' order by idConteudo ASC; $conectaConteudoCurso = $conecta->query($sqlConteudoCurso); //conteudoCurso $pdf->SetFont('Arial', '', 11); // Tipo de fonte e tamanhos $pdf->SetTextColor(10,15,35); $pdf->SetXY(10,75); //Parte chata onde tem que ficar ajustando a posição X e Y while($resultConteudoCurso = $conectaConteudoCurso->fetch_object()){ $conteudoCurso = $resultConteudoCurso->nomeConteudo; $pdf->MultiCell(75, 5, $conteudoCurso,'0', 'L', 0);// Tamanho width e height e posição } ok esta é a consulta que realizo no banco de dados ele me retorna a materia referente ao curso certinho, digamos que o curso tenha umas 20 matérias, ele vai imprimir certinho conforme as configurações de espaçamentos...
      AGORA O B.O é seguinte quando o curso acontece de ter tipo umas umas 40 MATÉRIAS ele acaba gerando outra página de pdf
      o que eu queria era que não gerasse outra pagina e sim partisse para o lado direito, pois é um certificado
      TIPO ASSIM....
      MATERIA 1 DO CURSO 1 MATERIA 11 DO CURSO 1 MATERIA 2 DO CURSO 1 MATERIA 12 DO CURSO 1 MATERIA 3 DO CURSO 1 MATERIA 13 DO CURSO 1 MATERIA 4 DO CURSO 1 MATERIA 14 DO CURSO 1 MATERIA 5 DO CURSO 1 MATERIA 15 DO CURSO 1 MATERIA 6 DO CURSO 1 MATERIA 16 DO CURSO 1 MATERIA 7 DO CURSO 1 MATERIA 17 DO CURSO 1 MATERIA 8 DO CURSO 1 MATERIA 18 DO CURSO 1 MATERIA 9 DO CURSO 1 MATERIA 19 DO CURSO 1 MATERIA 10 DO CURSO 1 MATERIA 20 DO CURSO 1  
    • By macdor300a
      Boa Noite a todos, desenvolvi varios projetos em Delphi 7 a ultima versão que estava acostumado,  apos ter abandonado a area por mais de 15 anos. hoje estou voltando a mexer em algumas coisas estou criando um webbrowser mobile android com o berlim, e com uma finalidade especifica.

      Ate ai tudo certo, pois estar tudo funcionando da maneira que desejava, porem; quando acesso uma area de download da pagina que criei e clico no botao para descarregar o PDF simplismente o download não inicia e simplesmente nao faz nada. alguem poderia min dar uma dica de como proceder pois estou min reindetificando novamente com o Delphi apos todos esses anos e sem contar que estar tudo diferente no berlim
    • By cunhar7
      Boa noite a todos, Gostaria de saber se alguém pode me ajudar com o DomPdf. Estou utilizando como base do projeto o codeigniter e bootstrap.
      Preciso Gerar um PDF com uma galeria de produtos, o problema é que não consigo forçar uma quebra de linhas. Os itens sempre aparecem um na frete do outro.
       
      //controller public function ImprimirTrabalho(){ #pesquisando modelo do trabalho $pesquisaModelo = $this->Trabalho->trabalho_layout($this->uri->segment(2)); #passando Modelo do trabalho para a variavel modelo $modelo = $pesquisaModelo['0']['layout']; ob_start(); $this->load->view('header_impressao'); $this->load->view($modelo); $pdf = ob_get_clean(); $this->pdf->loadHtml($pdf); // (Optional) Setup the paper size and orientation $this->pdf->setPaper('A4', ''); // Render the HTML as PDF $this->pdf->render(); // Output the generated PDF to Browser $this->pdf->stream("",array("Attachment" => false)); }
×

Important Information

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