Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] seguridad en PHP y HTML

Estas en el tema de seguridad en PHP y HTML en el foro de PHP en Foros del Web. tengo un server apache, con autenticacion al sitio principal, para la autenticacion utilice MySQL, el login se autentica con el user y pass que aloje ...
  #1 (permalink)  
Antiguo 02/07/2015, 07:55
 
Fecha de Ingreso: julio-2015
Mensajes: 5
Antigüedad: 8 años, 9 meses
Puntos: 0
seguridad en PHP y HTML

tengo un server apache, con autenticacion al sitio principal, para la autenticacion utilice MySQL, el login se autentica con el user y pass que aloje en el PHPAdmin, sin embargo cuando ingreso a mi sitio web, lo hace sin problemas, la problemática surge, cuando escribo la ruta directa al sitio, se salta el login, osea no tiene seguridad el tema, me dicen que lo puedo hacer con una cookie, que deniegue el ingreso al sitio principal sin antes autenticarse, pero solo entiendo de redes, es para un proyecto, no se si se entiende el problema planteado, el login lo realizo en PHP y el sitio principal en html.

a modo de ejemplo:

el sitio web es el siguiente:

sistemadomotico.ddns.net, se visualiza sin problemas el login, me autetico y visualizo mi sitio web con la siguiente ruta: sistemadomotico.ddns.net/sitioweb.html.

la problematica es que si escribo la ruta completa en el browser: sistemadomotico.ddns.net/sitioweb.html, se salta el login y no es la idea.

agradecería enormemente su ayuda por favor, oajala haya alguien con buena voluntad, adjunto en un mediafire los archivos que utilizo para mi sitio. que tengo alojados todos juntos en la ruta /var/www/ de mi raspberry PI, cualquier ayuda sirve si saben del tema, ya que soy un real novato en esto.

PD: las fotos el script de conexion a mi base de datos y el logout no los adjunte. Solo el login y mi sitio web principal a modo de ejemplo.

www.mediafire.com/folder/625tfc07h0my3vf,ynpo2fbjwigjrf3/shared
  #2 (permalink)  
Antiguo 02/07/2015, 07:59
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: seguridad en PHP y HTML

yo utilizo este codigo de dreamweaver, pero imagino que hay algo mas corto, igual me funciona:
Código PHP:
Ver original
  1. if (!isset($_SESSION)) {
  2. }
  3. $MM_authorizedUsers = "estandar,premium";
  4. $MM_donotCheckaccess = "false";
  5.  
  6. // *** Restrict Access To Page: Grant or deny access to this page
  7. function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
  8.   // For security, start by assuming the visitor is NOT authorized.
  9.   $isValid = False;
  10.  
  11.   // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
  12.   // Therefore, we know that a user is NOT logged in if that Session variable is blank.
  13.   if (!empty($UserName)) {
  14.     // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
  15.     // Parse the strings into arrays.
  16.     $arrUsers = Explode(",", $strUsers);
  17.     $arrGroups = Explode(",", $strGroups);
  18.     if (in_array($UserName, $arrUsers)) {
  19.       $isValid = true;
  20.     }
  21.     // Or, you may restrict access to only certain users based on their username.
  22.     if (in_array($UserGroup, $arrGroups)) {
  23.       $isValid = true;
  24.     }
  25.     if (($strUsers == "") && false) {
  26.       $isValid = true;
  27.     }
  28.   }
  29.   return $isValid;
  30. }
  31.  
  32. $MM_restrictGoTo = "../index.php";
  33. if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
  34.   $MM_qsChar = "?";
  35.   $MM_referrer = $_SERVER['PHP_SELF'];
  36.   if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  37.   if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
  38.   $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  39.   $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  40.   header("Location: ". $MM_restrictGoTo);
  41.   exit;
  42. }
  #3 (permalink)  
Antiguo 02/07/2015, 08:00
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: seguridad en PHP y HTML

para no tener un monton de codigo utilizo una sola pagina con ese codigo y le hago include en las que lo necesito y listo.
prueba este tambien a ver si te sirve:
Código PHP:
Ver original
  1. if(!isset($SESSION)){
  2. header("location: validar_usuario.php");
  3. } else {
  4. echo "<html><body>";
  5. echo "Bienvenido ";
  6. echo $SESSION["k_username"];
  7. echo "<br>Has entrado con el nombre de usuario ";
  8. echo $SESSION["login"];
  9. echo "<br>Para cerrar la sesión, pulsa: <a href='logout.php'>logout</a>";
  10. echo "</body></html>";
  11. }

Última edición por xfxstudios; 02/07/2015 a las 08:07
  #4 (permalink)  
Antiguo 02/07/2015, 10:27
 
Fecha de Ingreso: julio-2015
Mensajes: 5
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: seguridad en PHP y HTML

Amigo, como aplico ese script en mi sitio principal, la autenticacion se realiza mediante una base de datos en PHPAdmin, tengo un script que se llama conexion.php que realiza esa gestion, mi sitio preincipal esta en html, no en PHP, como implemento tu solución ?

De ante mano gracias.
  #5 (permalink)  
Antiguo 02/07/2015, 12:19
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: seguridad en PHP y HTML

para poder trabajar con autenticacion tu sitio debe estar en php y las paginas a denegar acceso tambien en php brother
  #6 (permalink)  
Antiguo 02/07/2015, 13:10
 
Fecha de Ingreso: julio-2015
Mensajes: 5
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: seguridad en PHP y HTML

Amigo, ahi me funcó el tema, gracias !

Etiquetas: html, mysql, seguridad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:19.