Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2008, 08:57
trigger_bengali
 
Fecha de Ingreso: enero-2008
Mensajes: 15
Antigüedad: 16 años, 3 meses
Puntos: 0
Bloquear un acceso a un PDF CREADO POR FPDF

Bueno, esto es solo a modo de algun comentario o script que me pueda ayudar en esto. Tengo un sistema, que genera un pdf de acuerdo a su id. cada id genera su propio pdf. y todo funciona muy bien. Pero, me surgió una duda si una persona cualquiera coloca la direccion que genera el pdf ejemplo:

http://localhost/xxx/imprimepdf.php?id=70


Puede acceder al pdf sin problemas y no necesariamente siendo la persona que genero ese pdf.


¿No habra una forma de bloquear el archivo?, para otras personas. Me refiero, si cuando pegan esta dirección http://localhost/xxx/imprimepdf.php?id=70 le salga que no tiene acceso o algo así solo lo pueda accesar el usuario que generó el pdf...

Aca dejó el script del pdf


Código PHP:

<?php

require ('fpdf/fpdf.php');
require (
'fpdf/rotation.php');

class 
PDF extends PDF_Rotate
{
function 
Header()
{
    
//Poner Marca de Agua
    
$this->SetFont('Arial','B',80);
    
$this->SetTextColor(255,192,203);
    
$this->RotatedText(30,190,'R e p r o b a d o',45);
}

function 
RotatedText($x,$y,$txt,$angle)
{
    
//Text rotated around its origin
    
$this->Rotate($angle,$x,$y);
    
$this->Text($x,$y,$txt);
    
$this->Rotate(0);
}
}


    

$pdf=new PDF('P','mm','Letter');
$pdf->Open();
$pdf->AddPage();


//Conectar a la Base de Datos
mysql_connect('localhost','root','');
mysql_select_db('rrhh');


// Colocar Imagen que se encuentra en img/gob.jpg



// Hago la Consulta  a la BD Viativos para que se puedan imprimir los datos
$sql "select id,nombre,rut,cargo,unidad,grado,jefedirecto,cargojefedirecto,jefeautoriza,cargojefeautoriza,fechinicio,fechtermino,diascometido,region,comuna,motivocometido,traslado,pernoctacion,pasaje,valor,diastotales,viaticodiario,viaticodiarioparcial,totaldiario,totalparcial,totalsinpasaje,total,detalle,diferencia from Viaticos WHERE id = '{$_GET['id']}'";
$sql2=mysql_query($sql);

While (
$row=mysql_fetch_array($sql2)){






/*******TEXTO*********/

$pdf->SetFont('Arial','',9);
$pdf->Ln(2);
$pdf->Cell(180,4,'RESOLUCIÓN EXENTA Nº :    '.$resolucion,0,0,'R');
$pdf->Cell(-60);
$pdf->SetFont('Arial','',12);
$pdf->Ln(10);
$pdf->Cell(0,4,''.$titulo,0,1,'C');
$pdf->Cell(-60);

$pdf->SetFont('Arial','',9);
$pdf->Ln(4);
$pdf->Cell(20,5,' SECCION ',1,1,'L');
$pdf->Cell(74);
$pdf->Ln(-5);
$pdf->Cell(144,5,''.$row[1],1,1,'C');
$pdf->Cell(74);
$pdf->Ln(-5);
$pdf->Cell(164,5,''.$titular,1,1,'R');
$pdf->Cell(74);
$pdf->Ln(-5);
$pdf->Cell(190,5,''.$row[2],1,1,'R');

$pdf->Cell(20,5,'1',1,1,'C');
$pdf->Cell(20);
$pdf->Ln(-5);
$pdf->Cell(144,5,'APELLIDOS Y NOMBRES',1,1,'C');
$pdf->Cell(20);
$pdf->Ln(-5);
$pdf->Cell(164,5,'CALIDAD',1,1,'R');
$pdf->Cell(20);
$pdf->Ln(-5);
$pdf->Cell(190,5,'RUN Nº',1,1,'R');


$pdf->Cell(20,5,'SECCION',1,1,'C');
$pdf->Cell(10);
$pdf->Ln(-5);
$pdf->Cell(144,5,'GRADO',1,1,'R');
$pdf->Cell(10);
$pdf->Ln(-5);
$pdf->Cell(124,5,'CARGO :         '.$row[3],1,1,'C');
$pdf->Cell(10);
$pdf->Ln(-5);

$pdf->Cell(164,5,'CAT . : ' ,1,1,'R');
$pdf->Cell(10);
$pdf->Ln(-5);
$pdf->Cell(190,5,'HRS. ',1,1,'R');
$pdf->Cell(10);
$pdf->Ln(0);






$pdf->Cell(20,5,'2',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(124,5,'',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(144,5,''.$row[5],1,1,'R');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(164,5,'',1,1,'R');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(190,5,'',1,1,'R');


$pdf->Cell(20,5,'SECCION',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(124,5,'ESTABLECIMIENTO : SERVICIO DE SALUD COQUIMBO',1,1,'C');
$pdf->Ln(-5);
$pdf->SetFont('Arial','',9);
$pdf->Cell(190,5,'UNIDAD O SERVICIO',1,1,'R');





$pdf->Cell(20,5,'3',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(190,5,''.$row[4],1,1,'R');




$pdf->Cell(20,5,'SECCION',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(104,5,'LUGAR DEL COMETIDO',1,1,'C');
$pdf->Ln(-5);
$pdf->Cell(124,5,'DIAS',1,1,'R');
$pdf->Ln(-5);
$pdf->Cell(190,5,'MOTIVO',1,1,'R');


$pdf->Cell(20,5,'4',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(104,5,''.$row[14],1,1,'C');
$pdf->Ln(-5);
$pdf->Cell(124,5,''.$row[12],1,1,'R');
$pdf->Ln(-5);
$pdf->SetFont('Arial','',7);
$pdf->Cell(190,5,''.$row[15],1,1,'R');


$pdf->SetFont('Arial','',9);
$pdf->Cell(20,10,'SECCION 5',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(190,10,'PERNOCTA FUERA DEL LUGAR DE RESIDENCIA : '.$row[16],1,1,'C');



$pdf->Cell(20,10,'SECCION 6',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(190,10,'DERECHO A PASAJE :   '.$row[18],1,1,'C');


$pdf->Cell(20,10,'SECCIÓN 7',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->SetFont('Arial','',9);
$pdf->Cell(124,10,'DETALLE DE PASAJES :  ',0,1,'C');
$pdf->SetFont('Arial','',7);
$pdf->Ln(-10);
$pdf->Cell(190,10,''.$row[27],1,1,'R');

$pdf->SetFont('Arial','',9);
$pdf->Cell(20,5,'SECCION',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(104,5,'TOTAL DE DIAS DEL COMETIDO FUNCIONAL : ',0,1,'R');
$pdf->Ln(-5);
$pdf->Cell(144,5,'DESDE',1,1,'R');
$pdf->Ln(-5);
$pdf->Cell(190,5,'HASTA',1,1,'R');

$pdf->Cell(20,5,'8',1,1,'C');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(144,5,''.$row[10],1,1,'R');
$pdf->Ln(-5);
$pdf->Cell(190,5,''.$row[11],1,1,'R');




function 
fecha()
$mes date("n"); $mesArray = array( => "Enero"=> "Febrero"=> "Marzo"=> "Abril"=> "Mayo"=> "Junio"=> "Julio"=> "Agosto"=> "Septiembre"10 => "Octubre"11 => "Noviembre"12 => "Diciembre" ); $semana date("D"); $semanaArray = array( "Mon" => "Lunes""Tue" => "Martes""Wed" => "Miercoles""Thu" => "Jueves""Fri" => "Viernes""Sat" => "Sábado""Sun" => "Domingo", ); $mesReturn $mesArray[$mes]; $semanaReturn $semanaArray[$semana]; $dia date("d"); $año date ("Y"); return $semanaReturn." ".$dia." de ".$mesReturn." de ".$año; }

$h fecha();

$pdf->Cell(20,10,'FECHA : La Serena, '.$h,0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(112,10,'ANOTESE',0,1,'R');

$pdf->Cell(20,5,'NOMBRE : '.$row[6],0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->Cell(161,5,'NOMBRE : '.$row[8],0,1,'R');

$pdf->Cell(20,5,'CARGO : ',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-5);
$pdf->SetFont('Arial','',7.5);
$pdf->Cell(112,5,''.$row[7],0,1,'C');
$pdf->Ln(-5);
$pdf->SetFont('Arial','',9);
$pdf->Cell(114,5,'CARGO : ',0,1,'R');
$pdf->Ln(-5);
$pdf->SetFont('Arial','',7.5);
$pdf->Cell(186,5,''.$row[9],0,1,'R');


$pdf->SetFont('Arial','',9);
$pdf->Cell(40,10,'1. VIATICO DIARIO',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(84,10,'$   '.number_format($row[21],0,",","."),0,1,'C');
$pdf->Ln(-10);
$pdf->Cell(104,10,'POR',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(124,10,''.$row[20],0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(144,10,'DIAS, SON',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(190,10,'$ '.number_format($row[23],0,",","."),1,1,'R');

$pdf->Cell(40,10,'2. VIATICO PARCIAL',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(84,10,'$   '.number_format($row[22],0,",","."),0,1,'C');
$pdf->Ln(-10);
$pdf->Cell(104,10,'POR',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(124,10,''.$row[28],0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(144,10,'DIAS, SON',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(190,10,'$ '.number_format($row[24],0,",","."),1,1,'R');

$pdf->Cell(40,10,'3. VALOR DEL PASAJE',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(144,10,'SON',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(190,10,'$ '.number_format($row[19],0,",","."),1,1,'R');


$pdf->Cell(40,10,'4. ITEM',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(124,10,'TOTAL A PAGAR',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(190,10,'$ '.number_format($row[26],0,",","."),1,1,'R');


$pdf->Cell(40,10,'5. VºBº OFICIAL PRESUPUESTOS ',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(-10);
$pdf->Cell(124,10,'COMPROMISO Nº',0,1,'R');
$pdf->Ln(-10);
$pdf->Cell(190,10,' ',1,1,'R');

$pdf->Ln(3);
$pdf->Cell(20,3,'NOTA : EL CUMPLIMIENTO DE ESTE COMETIDO, ES RESPONSABILIDAD DEL JEFE DIRECTO, SOLIDARIAMENTE ',0,1,'L');
$pdf->Cell(2);
$pdf->Ln(3);


$pdf->Cell(20,3,'CON LA PERSONA QUE DISPONGA EL PAGO',0,1,'L');

$pdf->Ln(15);
$pdf->Cell(60,4,''.$row[1],0,0,'C');
$pdf->Cell(180,4,''.$row[8],0,0,'C');

$pdf->Ln(12);
$pdf->Cell(140,4,'VºBº Jefe Directo',0,0,'C');
$pdf->Ln(3);
$pdf->Cell(140,4,'Nombre:',0,0,'C');
$pdf->Ln(0);
$pdf->Cell(210,4,''.$row[6],0,0,'C');
$pdf->Ln(3);
$pdf->Cell(140,4,'Cargo:',0,0,'C');
$pdf->Ln(0);
$pdf->Cell(250,4,''.$row[7],0,0,'C');




}
/*****LINEAS******/


$pdf->Line(20045.518645.5);// RESOLUCION EXENTA Nº
$pdf->Line(12,236.5,70,236.5);//row[1]Firma Funcionario
$pdf->Line(130,236.5,190,236.5);//row[6]Firma Jefe Autoriza




$pdf->Output();
?>
Espero sus consejos, no es algo grave. Tampoco algo esencial. Pero, me gustaría saber algún consejo o si no hay forma de bloquearlo q cualquier usuario.... de antemano gracias