Ver Mensaje Individual
  #12 (permalink)  
Antiguo 01/08/2013, 18:19
diego_weichafe
 
Fecha de Ingreso: enero-2013
Ubicación: santiago de chile
Mensajes: 9
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Protejer directorio web y acceder solo con $_SESSION

3.- si todo esta bien te deja apretar el enlace para irte al siguiente directorio. Los 2 archivos anteriores que he mostrado estan en el "root/". Ahora el link nos llevara a "root/sisprod/", este es justamente el directorio que no quiero que se pueda ingresar a ningun archivo que este dentro, sin que pase previamente por el login. Ahora estamos en "root/sisprod/index.php"

Código PHP:
Ver original
  1. <?php include("head.php");
  2.  var_dump($_SESSION);
  3. ?>
  4. <body>
  5. <?php include("nav.php"); ?>
  6. <div class="cuerpo" id="cuerpo">    
  7.    <div class="contenido">
  8.     <div class="tabla_campos">  
  9.  
  10. <div style="
  11. background: #ffffff; /* Old browsers */
  12. background: -moz-linear-gradient(top,  #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
  13. background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
  14. background: -webkit-linear-gradient(top,  #ffffff 0%,#e5e5e5 100%); /* Chrome10+,Safari5.1+ */
  15. background: -o-linear-gradient(top,  #ffffff 0%,#e5e5e5 100%); /* Opera 11.10+ */
  16. background: -ms-linear-gradient(top,  #ffffff 0%,#e5e5e5 100%); /* IE10+ */
  17. background: linear-gradient(to bottom,  #ffffff 0%,#e5e5e5 100%); /* W3C */
  18. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
  19.  
  20. -moz-box-shadow:rgba(0, 0, 0, 0.682353) 0px 0px 14px 2px;
  21. box-shadow:rgba(0, 0, 0, 0.682353) 0px 0px 14px 2px;
  22. -webkit-border-radius:10px;
  23. -moz-border-radius:10px;
  24. width:auto;
  25.  
  26. ">
  27. <img style="margin:10px 0 10px 240px" src="img/logoxxx.png">
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. </body>
  34.  
  35. </html>

4.- aca incluyo el archivo "header.php", que es donde se aloja session_start();

Código PHP:
Ver original
  1. <?php
  2. ob_start(); // outer buffer
  3. ob_start(); // inner buffer to catch URL rewrites and other post processing
  4. ?>
  5. <!DOCTYPE html>
  6. <html lang="en">
  7.     <head>
  8.         <link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
  9.         <meta charset="utf-8">
  10.         <title>Servicio de Contenedores xxx Ltda.</title>
  11.         <link href="style.css" media="screen" rel="stylesheet" type="text/css" />
  12.         <link href="iconic.css" media="screen" rel="stylesheet" type="text/css" />
  13.         <script src="script/prefix-free.js"></script>
  14.         <script src="script/jquery-1.6.1.js"></script>
  15.        
  16.         <script type="text/javascript">
  17. $(document).ready(function() {
  18.     $('input[type=checkbox]').live('click', function(){
  19.         var parent = $(this).parent().attr('id');
  20.         $('#'+parent+' input[type=checkbox]').removeAttr('checked');
  21.         $(this).attr('checked', 'checked');
  22.     });
  23. });
  24. </script>
  25.  
  26. <script>
  27. var no_digito = /\D/g;
  28. </script>
  29.  
  30. <script language="JavaScript">
  31. <!--
  32. var nav4 = window.Event ? true : false;
  33. function acceptNum(evt){  
  34. // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57  
  35. var key = nav4 ? evt.which : evt.keyCode;  
  36. return (key <= 13 || (key >= 48 && key <= 57) || key==46);
  37. }
  38. //-->
  39. </script>
  40.  
  41.  
  42.  
  43. <script type="text/javascript">
  44. $(document).ready(function(){
  45. $("#tra_dctos_detalle_div1 a").each(function(){
  46. var href = $(this).attr("href");
  47. $(this).attr({ href: "#"});
  48. $(this).click(function(){
  49. $("#tra_dctos_detalle_div2").load(href);
  50. });
  51. });
  52. });
  53. </script>
  54.  
  55. <script>
  56. function enviar_1(){
  57.   document.form_enviar1.submit()
  58. }
  59.  
  60. function enviar_2(){
  61.   document.form_enviar2.submit()
  62. }
  63. function enviar_3(){
  64.   document.form_enviar2.submit()
  65. }
  66. function enviar_4(){
  67.   document.form_enviar1.submit()
  68. }
  69.  
  70.  
  71.  
  72.  
  73. </script>
  74.  
  75.  
  76. <script language="javascript">
  77.     function validar()
  78.     {
  79.         var ref1 = document.getElementById("a");
  80.         var ref2 = document.getElementById("b");
  81.         var ref3 = document.getElementById("c");
  82.         var ref4 = document.getElementById("ans");
  83.    
  84.  
  85.         if(ref1.value>=0 && ref2.value>=0 && ref3.value>=0)
  86.         {
  87.            ref4.value = parseFloat(ref1.value) +  parseFloat(ref2.value) - parseFloat(ref3.value);
  88.         }
  89.     }
  90. </script>
  91.  
  92. <script type="text/javascript">
  93. $(document).ready(function() {
  94.    
  95. $("#tooltip1").mouseover(function(){
  96. eleOffset = $(this).offset();
  97. $(this).next().fadeIn("fast").css({
  98. left: eleOffset.left + $(this).outerWidth(),
  99. top: eleOffset.top
  100. });
  101. }).mouseout(function(){
  102. $(this).next().hide();
  103. });
  104.  
  105. $("#tooltip2").mouseover(function(){
  106. eleOffset = $(this).offset();
  107. $(this).next().fadeIn("fast").css({
  108. left: eleOffset.left + $(this).outerWidth(),
  109. top: eleOffset.top
  110. });
  111. }).mouseout(function(){
  112. $(this).next().hide();
  113. });
  114.  
  115. });    
  116. </script>
  117. <script>
  118. function operar5() {
  119. var d61 = parseInt(document.getElementById("tot61").value);
  120. var d62 = parseInt(document.getElementById("tot62").value);
  121. var d63 = parseInt(document.getElementById("tot63").value);
  122. var d64 = parseInt(document.getElementById("tot64").value);
  123. var d65 = parseInt(document.getElementById("tot65").value);
  124. var d66 = parseInt(document.getElementById("tot66").value);
  125. var d67 = parseInt(document.getElementById("tot67").value);
  126. var d68 = parseInt(document.getElementById("tot68").value);
  127. var d69 = parseInt(document.getElementById("tot69").value);
  128. var d610 = parseInt(document.getElementById("tot610").value);
  129. document.getElementById("tot63").value=d61*d62;
  130. document.getElementById("tot65").value=d64-d63;
  131. document.getElementById("tot68").value=d66*d67;
  132. document.getElementById("tot610").value=d69-d68;
  133. }
  134. </script>
  135.  
  136.  
  137.     </head>
  138. <?php
  139. $conexion=mysql_connect("localhost","servicw9_root","xxx_2013");
  140. mysql_select_db("usuarios",$conexion);
  141. if (!$conexion) {
  142. die('No se puede conectar: ' . mysql_error());}
  143. ?>


5.- y aca incluyo el archivo "nav.php" que es donde se comprueba siempre quien tiene la session iniciada (al final del codigo):

Código PHP:
Ver original
  1. <div class="wrap" id="menus">
  2.    
  3.     <nav>
  4.         <ul class="menu">
  5.             <li><a href="index.php"><span class="iconic home"></span>Inicio</a></li>
  6.             <li><a href=""><span class="iconic user"></span>Trabajadores</a>
  7.                 <ul>
  8.                     <li><a href="tra_fictra.php">Agregar / Modificar Ficha Trabajador</a></li>
  9.                     <li><a href="tra_dctos.php">Descuentos Legales</a></li>
  10.                     <li><a href="tra_otros_dctos.php">Otros Descuentos</a></li>
  11.                     <li><a href="tra_preliq.php">Pre Liquidación</a></li>
  12.                    
  13.                 </ul>
  14.             </li>
  15.             <li><a href="#"><span class="iconic new-window"></span>Categorías</a>
  16.                 <ul>
  17.                     <li><a href="cat_marca.php">Marcas contenedores</a></li>
  18.                     <li><a href="cat_armador.php">Armadores</a></li>
  19.                     <li><a href="cat_valortc.php">Valor Dolar</a></li>
  20.                     <li><a href="cat_valorhh.php">Valor H/H por función</a></li>
  21.                 </ul>
  22.             </li>
  23.             <li><a href="#"><span class="iconic bolt"></span> Produción</a>
  24.                 <ul>
  25.                     <li><a href="prod_nprod.php">Ingresar / Consultar Producción</a></li>
  26.                     <li><a href="prod_asig_esp.php">Asignación Especial en CLP$</a></li>
  27.                 </ul>
  28.             </li>
  29.             <li><a href="#"><span class="iconic magnifying-glass"></span>Busqueda</a>
  30.                 <ul>
  31.                     <li><a href="busq_1i.php">Todos los contenedores del número</a></li>
  32.                    
  33.                     <li><a href="busq_2i.php">Todos los contenedores de la marca</a></li>
  34.                     <li><a href="busq_3i.php">Todos los contenedores del armador</a></li>
  35.                     <li><a href="busq_4i.php">Todos los otros descuentos pertenecientes a la categoría</a></li>
  36.                     <li><a href="busq_5i.php">Todos los otros descuentosentre fechas</a></li>
  37.                     <li><a href="busq_6i.php">Producción general entre fechas</a></li>
  38.                 </ul>
  39.             </li>
  40.             <li><a href="#"><span class="iconic info"></span>Sobre el Software</a>
  41.                 <ul>
  42.                     <li><a href="sobre.php">Información</a></li>
  43.                 </ul>
  44.             </li>
  45.         </ul>
  46.         <div class="identif" align="right"> <?php
  47. echo 'Bienvenido, ';
  48. if (isset($_SESSION['k_username'])) {
  49.     echo '<b>'.$_SESSION['k_username'].'</b>.';
  50.     echo '<p><a href="../logout.php">Cerrar Sesión</a></p>';
  51. }
  52. ?></div>
  53.         <div class="clearfix"></div>
  54.     </nav>
  55.     </div>