Jump to content

cristianvar

Members
  • Content Count

    15
  • Joined

  • Last visited

  • Days Won

    4

cristianvar last won the day on August 20 2012

cristianvar had the most liked content!

5 Followers

About cristianvar

  • Rank
    Novato

Contact Methods

  • Sitio web
    Array
  • Skype
    Array

Profile Information

  • Gender
    Array
  • Location
    Array
  • Intereses
    Array
  1. Esto no realiza ninguna conexión con la base de datos, sólo define unas constantes. Para realizar la conexión con la base de datos utilizando estas constante, podríamos hacerlo de la siguiente forma: <?php DEFINE('DB_HOST', 'Host de la base de datos'); DEFINE('DB_USER', 'Usuario de la base de datos'); DEFINE('DB_PASSWORD', 'Contraseña de la base de datos'); DEFINE('DB_NAME', 'Nombre de la base de datos'); $conexion = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("No se pudo conectar con el servidor de la base de datos. Error: ".mysql_error()); mysql_select_db(DB_NAME, $conexion); ?>
  2. La verdad es que no estaría mal que DiosMen publicase el código fuente también.
  3. Para empezar está genial. ¡Sigue así!
  4. no cierras la etiqueta "<option>". ¡HEREJÃA! xDDDD
  5. Mirando el código fuente de la página, se puede sacar facilmente e.e. Pero claro, para eso hay que tener unos mínimos conocimientos de HTML. De todas formas, cualquier protección nunca viene mal.
  6. Sí, la utilizan en ArcangelesMt2.
  7. Esto realiza una conexión con la base de datos, no es necesaria una web, ni un archivo PHP.
  8. No soy español jajajaja. Pero gracias igualmente
  9. Exacto, pero yo, por ejemplo, cuando recién empecé con PHP y MySQL, no conocía esto, y como ningún trabajo de los que hacía era para algún proyecto importante, nunca me molesté en buscar vulnerabilidades y soluciones en mis scripts. Un saludo!
  10. Hoy os traigo este sitio, bastante completo, donde aprender a programar lenguajes orientados a la web, tales como HTML, CSS, XML, JavaScript, PHP, etc. Este sitio, como he dicho antes, es bastante completo y cuyo contenido es fácil de entender. El único inconveniente es que está en inglés. Sitio - [Hidden Content] ¡Un saludo!
  11. Sí, es en la web. No tiene ningún estilo, pero la intención es que cada uno lo personalice como quiera. De todas formas, esta guía NO la hice para usuarios novatos, la hice para los que ya tienen algún conocimiento del lenguaje PHP.
  12. Bueno, he hecho un pequeño script que sirve tanto para banear como para desbanear usuarios. <?php if(isset($_POST['submit']) && $_POST['submit'] == 'banear') { $usuario = mysql_real_escape_string($_POST['usuario']); // Recibimos el valor del campo "usuario" $banear = "UPDATE account.account SET status = 'BLOCK' WHERE login = '".$usuario."'"; // Ejecutamos la query para cambiar el estado $query = mysql_query($banear) or die (mysql_error()); if($query) { echo 'La cuenta ha sido baneada.'; // Si se ha ejecutado correctamente, sale un mensaje. } else { echo "La cuenta no ha sido baneada"; // Si no se ha ejecutado correctamente, sale otro mensaje. } } if(isset($_POST['submit']) && $_POST['submit'] == 'desbanear') { $usuario = mysql_real_escape_string($_POST['usuario']); // Recibimos el valor del campo "usuario" $desbanear = "UPDATE account.account SET status = 'OK' WHERE login = '".$usuario."'"; // Ejecutamos la query para cambiar el estado $query = mysql_query($desbanear) or die (mysql_error()); if($query) { echo 'La cuenta ha sido desbaneada.'; // Si se ha ejecutado correctamente, sale un mensaje. } else { echo "La cuenta no ha sido desbaneada."; // Si no se ha ejecutado correctamente, sale otro mensaje. } } ?> ?> <h3>Banear</h3> <form action="" method="post"> Usuario: <input type="text" name="usuario"> <input type="submit" name="submit" value="banear"> </form> <h3>Desbanear</h3> <form action="" method="post"> Usuario: <input type="text" name="usuario"> <input type="submit" name="submit" value="desbanear"> </form> No lo he podido testear, quizá tenga algún error. Si alguien tiene alguna duda sobre su funcionamiento, puede contactar conmigo por un mensaje privado. Un saludo.
  13. Bueno, muchas veces me he topado con un monton de webs con una pequeña vulnerabilidad que permite realizar inyecciones de código SQL por medio de un formulario (ya sea el de registro, el de login u otros) o utilizando la barra de direcciones (osea, el método GET). Esto permite al atacante, acceder a la base de datos y modificar (editar, eliminar, etc) cualquier contenido que haya en ella. Para evitar este tipo de ataques vamos a utilizar una pequeña función que sustituye todos los carácteres especiales para ejecutar sentencias SQL y, ya que estamos, también eliminamos cualquier tipo de etiqueta HTML que haya de por medio. Vamos a ver la función: #Edito: el código estaba mal, la función es mysql_real_escape_string(), no mysql_real_string(). Pequeño error, pero ya lo corregí. <?php function limpiar($contenido) { $contenido = strip_tags($contenido); $contenido = mysql_real_escape_string($contenido); return $contenido; } ?> Para ponerlo a funcionar podríamos utilizar este ejemplo: <?php $usuario = limpiar($_POST['usuario']); ?> O, si utlizamos el método GET, podemos usar este código: <?php $usuario = limpiar($_GET['usuario']); ?> Todo el tema de seguridad es muy importante a la hora de crear una página web, y aún más si es para un servidor de Metin2, ya que hay mucha gente ociosa a la que le divierte fastidiar. A los que les interese todo el tema de seguridad, pueden ver esta guía en PDF bastante útil: [Hidden Content] Espero que os sirva esto y si teneis alguna duda, estaré encantado de intentar ayudaros en lo que pueda. Saludos.
×
×
  • Create New...