Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - exelovin

#1
PHP / Re: Cómo evitar inyección SQL?
13 Abril 2013, 12:33 PM
Así está bien?

$query = mysql_query("SELECT `id`, `activacion`, `ban`, `nick` FROM `usuarios` WHERE `nick` = '".mysql_real_escape_string(trim($_POST['nick']))."' and password = '".mysql_real_escape_string(md5($_POST['pass']))."'") or die(mysql_error());


Acá dejo el código entro...

Citar<?php
require_once("header.php");

$user = mysql_real_escape_string($_POST["nick"]);
$pass = mysql_real_escape_string($_POST["pass"]);

if(empty($user) or empty($pass)){
   die('0: Faltan Datos');
}
$pass = md5($pass);
// Comprobamos los datos
$query = mysql_query("SELECT `id`, `activacion`, `ban`, `nick` FROM `usuarios` WHERE `nick` = '".mysql_real_escape_string(trim($_POST['nick']))."' and password = '".mysql_real_escape_string(md5($_POST['pass']))."'") or die(mysql_error());

if (!$data = mysql_fetch_array($query)){
   die('0: Datos no validos');
}

if($data["activacion"] != '1'){
   die('0: Activa Tu Usuario');
}

$baneo   =   "SELECT *
         FROM suspendidos
         WHERE nick='$user'";
$bane   =   mysql_query($baneo, $con);
$bane2   =   mysql_fetch_array($bane);

function ToUnix($string){
  $string = str_replace("/","-",$string);
   return strtotime($string);
}

 $baneo = $bane2['fecha2'];
$dia = 60*60*24;
 $baneo2 = $baneo*$dia;
$fechaone = ToUnix($bane2['fecha1']);
 $fechaone2 = $fechaone;
 
 if(date("d/m/Y",$baneo2+$fechaone2) == date("d/m/Y") and is_numeric($bane2['fecha2'])){
   mysql_query("UPDATE usuarios SET ban = 0 WHERE nick = '$user'");
   mysql_query("DELETE FROM suspendidos WHERE nick = '$user'");
}
 

if($data["ban"]=='1' and date("d/m/Y",$baneo2+$fechaone2) !== date("d/m/Y")){

   /*
   * Desarrollado por timbalentimba...
   *  Puto el que lee
   */





   echo'2:

<font color="red"><b>Tu cuenta se encuentra suspendida</b></font>
<p align=left>
<b>Causa:</b> '.$bane2['causa'].'
<br/><b>Fecha:</b> '.$bane2['fecha1'].'
<br/><b>Duraci&oacute;n:</b> '.(!is_numeric($bane2['fecha2']) ? 'Indefinido' : $bane2['fecha2'].' Dia/s');
echo '<br> <b>Rehabilitacion el :</b> '.date("d/m/Y",$baneo2+$fechaone2);

die();
}

$ip = no_i($_SERVER['REMOTE_ADDR']);

$id_A = md5(uniqid(rand(), true));
$_SESSION['user'] = mysql_real_escape_string($data['nick']);
$_SESSION['id'] = $data['id'];
$_SESSION['id2'] = $id_A;

$id_B = $data["id"]."%".$id_A."%".$ip;
setcookie('id_extreme', $id_B, time()+7776000,'/');
$query = mysql_query("UPDATE `usuarios` SET `id_extreme` = '".$id_A."' WHERE `nick` = '".mysql_real_escape_string($_POST['nick'])."'");

echo'1:';
?>

Hay otra vulnerabilidad?
#2
PHP / Re: Cómo evitar inyección SQL?
9 Abril 2013, 00:07 AM
$query = mysql_query("SELECT id, activacion, ban, nick FROM usuarios WHERE nick = '".no_injection(trim($_POST['nick']))."' and password = '".no_injection(md5($_POST['pass']))."'") or die(mysql_error());


hay algo inseguro ahí? creo que por ahí me hackean...
#3
PHP / Cómo evitar inyección SQL?
8 Abril 2013, 16:36 PM
Hola gente del foro, quiero contarles mi problema. resulta que tengo un script en el cual me hackean con la cuenta admin, osea si yo no creo un usuario con privilegios de admin no me pueden hackear, creo que es inyección SQL. mí pregunta es cómo soluciono eso? gracias.