Un simple chat que hice en PHP que tiene las siguientes opciones :
- Solo permite 10 mensajes por lo que borra por antiguedad
- Filtra malas palabras
- Se pueden borrar comentarios desde el administrador
Una imagen :
(http://doddyhackman.webcindario.com/images/dh_chat.jpg)
Los codigos :
index.php
<?php
// DH Chat 0.5
// (C) Doddy Hackman 2015
// Login
$username = "admin"; // Edit
$password = "21232f297a57a5a743894a0e4a801fc3"; // Edit
//
$index = "admin.php"; // Edit
if (isset($_GET['poraca'])) {
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
<link rel="shortcut icon" href="images/icono.png">
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center><br>
<div class="post">
<h3>Login</h3>
<div class="post_body">
<img src="images/login.jpg" width="562" height="440" />
<br />
<form action="" method=POST>
Username : <input type=text size=30 name=username /><br /><br />
Password : <input type=password size=30 name=password /><br /><br />
<input type=submit name=login style="width: 100px;" value=Login /><br /><br />
</form>
</div>
</div>
</center>
</body>
</html>';
if (isset($_POST['login'])) {
$test_username = $_POST['username'];
$test_password = md5($_POST['password']);
if ($test_username == $username && $test_password == $password) {
setcookie("login", base64_encode($test_username . "@" . $test_password));
echo "<script>alert('Welcome idiot');</script>";
$ruta = "http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $index;
echo '<meta http-equiv="refresh" content="0; url=' . htmlentities($ruta) . '" />';
} else {
echo "<script>alert('Fuck You');</script>";
}
}
} else {
echo '<meta http-equiv="refresh" content="0; url=http://www.petardas.com" />';
}
// The End ?
?>
admin.php
<?php
// DH Chat 0.5
// (C) Doddy Hackman 2015
error_reporting(0);
// Login
$username = "admin"; // Edit
$password = "21232f297a57a5a743894a0e4a801fc3"; // Edit
// DB
$host = "localhost"; // Edit
$userw = "root"; // Edit
$passw = ""; // Edit
$db = "chat"; // Edit
if (isset($_COOKIE['login'])) {
$st = base64_decode($_COOKIE['login']);
$plit = explode("@", $st);
$user = $plit[0];
$pass = $plit[1];
if ($user == $username and $pass == $password) {
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DH Chat 0.5</title>
<link rel="shortcut icon" href="images/icono.png">
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
';
mysql_connect($host, $userw, $passw);
mysql_select_db($db);
echo ' <br><img src="images/chat.png" /><br>';
if (isset($_POST['instalar'])) {
$todo = "create table mensajes (
id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
apodo VARCHAR(255) NOT NULL,
PRIMARY KEY (id_comentario));
";
$todo2 = "create table insultos (
id_insulto int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
PRIMARY KEY (id_insulto));
";
if (mysql_query($todo)) {
if (mysql_query($todo2)) {
$insultos = array(
"lammer",
"lamer",
"maricon",
"noob"
);
foreach ($insultos as $con) {
@mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$con')");
}
echo "<script>alert('Installed');</script>";
echo '<meta http-equiv="refresh" content=0;URL=>';
}
} else {
echo "<script>alert('Error');</script>";
}
}
if (mysql_num_rows(mysql_query("show tables like 'mensajes'"))) {
//
$re = mysql_query("select * from mensajes order by id_comentario ASC");
if (isset($_GET['id'])) {
if (is_numeric($_GET['id'])) {
if (@mysql_query("delete from mensajes where id_comentario='" . $_GET['id'] . "'")) {
echo "<script>alert('Comment deleted');</script>";
} else {
echo "<script>alert('Error');</script>";
}
}
}
$sql = "select id_comentario from mensajes";
$resultado = mysql_query($sql);
$cantidad = mysql_num_rows($resultado);
echo '
<div class="post">
<h3>Comments : ' . $cantidad . '</h3>
<div class="post_body"><br>';
if ($cantidad <= 0) {
echo '<b>No entries found</b><br>';
} else {
echo "<table>";
echo "<td><b>ID</b></td><td><b>Nick</b></td><td><b>Text</b></td><td><b>Option</b></td><tr>";
while ($ver = mysql_fetch_array($re)) {
echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[2]) . "</td><td>" . htmlentities($ver[1]) . "</td><td><a href=?id=" . htmlentities($ver[0]) . ">Delete</a></td><tr>";
}
echo "</table>";
}
echo ' <br></div>
</div>';
if (isset($_POST['new_word'])) {
$in = $_POST['word'];
if (@mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$in')")) {
echo "<script>alert('Word added');</script>";
} else {
echo "<script>alert('Error');</script>";
}
}
if (isset($_GET['del_word'])) {
if (is_numeric($_GET['del_word'])) {
if (@mysql_query("delete from insultos where id_insulto='" . $_GET['del_word'] . "'")) {
echo "<script>alert('Word deleted');</script>";
} else {
echo "<script>alert('Error');</script>";
}
}
}
echo '
<div class="post">
<h3>Block words</h3>
<div class="post_body"><br>
';
echo "
<form action='' method=POST>
<b>Word : </b><input type=text name=word>
<input type=submit name=new_word style='width: 100px;' value=Add>
</form>";
echo '
<br>
</div>
</div>
';
$sql = "select id_insulto from insultos";
$resultado = mysql_query($sql);
$cantidad = mysql_num_rows($resultado);
echo '
<div class="post">
<h3>Words blocked : ' . $cantidad . '</h3>
<div class="post_body"><br>
';
$rea = mysql_query("select * from insultos order by id_insulto ASC");
if ($cantidad <= 0) {
echo '<b>No entries found</b><br>';
} else {
echo "<table>";
echo "<td>ID</td><td>Word</td><td>Option</td><tr>";
while ($ver = mysql_fetch_array($rea)) {
echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td><a href=?del_word=" . htmlentities($ver[0]) . ">Delete</a></td><tr>";
}
echo "</table>";
}
echo '
<br>
</div>
</div>
';
} else {
echo '
<div class="post">
<h3>Installer</h3>
<div class="post_body">';
echo "
<form action='' method=POST>
<h2>Do you want install DH Chat 0.5 ?</h2><br>
<input type=submit name=instalar style='width: 100px;' value=Install>
</form><br>";
echo ' </div>
</div>';
}
echo '
<br><h3>(C) Doddy Hackman 2015</h3><br>
</center>
</body>
</html>';
mysql_close();
exit(1);
} else {
echo "<script>alert('Fuck You');</script>";
}
} else {
echo '<meta http-equiv="refresh" content="0; url=http://www.petardas.com" />';
}
// The End ?
?>
style.css
/*
==-----------------------------------==
|| Name : DH Theme ||
|| Version : 0.8 ||
|| Author : Doddy H ||
|| Description: Templante ||
|| Date : 14/1/2015 ||
==-----------------------------------==
*/
body {
background:transparent url("images/fondo.jpg") repeat scroll 0 0;
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
text-align:center;
}
a:link {
text-decoration:none;
color:orange;
}
a:visited {
color:orange;
}
a:hover {
color:orange;
}
td,tr {
border-style:solid;
border-color: gray;
border-width: 1px;
background: black;
border: solid #222 2px;
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
text-align:center;
word-wrap: break-word;
word-break:break-all;
}
input {
border-style:solid;
border-color: gray;
border-width: 1px;
background: black;
border: solid #222 2px;
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
}
.post {
background-color:black;
color:gray;
margin-bottom:10px;
width:600px;
word-wrap: break-word;
}
.post h3 {
background-color:black;
color:orange;
background-color:#000;
border: solid #222 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding:5px 10px;
}
.post_body {
background-color:black;
margin:-20px 0 0 0;
color:white;
background-color:#000;
border: solid #222 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding:5px 10px;
}
/* The End ? */
chat.php
<?php
//DH Chat 0.5
//(C) Doddy Hackman 2015
// DB
$host = "localhost"; // Edit
$user = "root"; // Edit
$pass = ""; // Edit
$db = "chat"; // Edit
//
error_reporting(0);
mysql_connect($host, $user, $pass);
mysql_select_db($db);
echo '<link href="chat.css" rel="stylesheet" type="text/css" />';
echo "<table border=0 width='210' style='table-layout: fixed'>";
echo "<td><b>DH Chat 0.5</b></td><tr>";
$sumo = mysql_query("SELECT MAX(id_comentario) FROM mensajes");
$s = mysql_fetch_row($sumo);
foreach ($s as $d) {
$total = $d;
}
$test = $total - 10;
if ($test <= 0) {
next;
} else {
$resto = $test;
for ($i = 1; $i <= $resto; $i++) {
@mysql_query("DELETE FROM mensajes where id_comentario='$i'");
}
}
$re = @mysql_query("select * from mensajes order by id_comentario DESC");
while ($ver = @mysql_fetch_array($re)) {
echo "<td><b>" . htmlentities($ver[2]) . "</b> : " . htmlentities($ver[1]) . "</td><tr>";
}
echo "<br><br><td><br><b>Comment</b><br><br>
<form action='' method=POST>
Nick : <input type=text name=apodo size=20><br><br>
Text : <input type=text name=msg size=20><br><br>
<input type=submit name=chatentro style='width: 100px;' value=Send>
</form>
<tr>
<td><b>Coded By Doddy H</b></td><tr>
</table>";
if (isset($_POST['chatentro'])) {
$sumo = mysql_query("SELECT MAX(id_comentario) FROM mensajes");
$s = mysql_fetch_row($sumo);
foreach ($s as $d) {
$x_id = $d + 1;
}
$apodo = htmlentities(addslashes($_POST['apodo']));
$mensaje = htmlentities(addslashes($_POST['msg']));
$apodo = substr($apodo, 0, 70);
$mensaje = substr($mensaje, 0, 70);
$rex = mysql_query("select mensaje from insultos");
while ($con = mysql_fetch_array($rex)) {
$mensaje = str_replace($con[0], "#$!*", $mensaje);
$apodo = str_replace($con[0], "#$!*", $apodo);
}
if (is_numeric($x_id)) {
@mysql_query("INSERT INTO mensajes(id_comentario,apodo,mensaje)values('$x_id','$apodo','$mensaje')");
}
echo '<meta http-equiv="refresh" content=0;URL=>';
}
mysql_close();
// The End ?
?>
chat.css
/*
==-----------------------------------==
|| Name : DH Theme ||
|| Version : 0.8 ||
|| Author : Doddy H ||
|| Description: Templante ||
|| Date : 14/1/2015 ||
==-----------------------------------==
*/
body {
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
text-align:center;
}
a:link {
text-decoration:none;
color:orange;
}
a:visited {
color:orange;
}
a:hover {
color:orange;
}
td,tr {
border-style:solid;
border-color: gray;
border-width: 1px;
background: black;
border: solid #222 2px;
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
text-align:center;
word-wrap: break-word;
word-break:break-all;
}
input {
border-style:solid;
border-color: gray;
border-width: 1px;
background: black;
border: solid #222 2px;
color:gray;
font-family:helvetica,arial,sans-serif;
font-size:14px;
}
.post {
background-color:black;
color:gray;
margin-bottom:10px;
width:600px;
word-wrap: break-word;
}
.post h3 {
background-color:black;
color:orange;
background-color:#000;
border: solid #222 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding:5px 10px;
}
.post_body {
background-color:black;
margin:-20px 0 0 0;
color:white;
background-color:#000;
border: solid #222 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding:5px 10px;
}
/* The End ? */
test.php
<body background="test.jpg">
<?php
include("chat.php");
?>
Si quieren bajar el programa lo pueden hacer de aca (https://sourceforge.net/p/dhchat/).
Cualquier sugerencia para mejorar este proyecto diganla para mejorar.
Saludos.
Es mi sistema de seguridad personal xD.
HOLA!!!
@Decode (https://underc0de.org/foro/index.php?action=profile;u=33482) , lee el codigo, redirige cuando Login Falla. por ende si hay alguien que esta intentando entrar va a ser redireccionado a esa web en cada intento fallido.
GRACIAS POR LEER!!!
Es para sorprender al atacante.
You are not allowed to view links.
You are not allowed to view links.
Register or Login or You are not allowed to view links.
Register or Login
You are not allowed to view links.
You are not allowed to view links.
Register or Login or You are not allowed to view links.
Register or Login
Es para sorprender al atacante.
Buena website para los necesitados XD
Saludos.
Sino te gusta te puedo poner una pagina de negros musculosos , si queres edito el link y queda como tu version privada xD.
Igual deja de desviar el tema y habla sobre el codigo.
Saludos.
A mi no me interesa editar nada , deja de desviar el tema central del post.
@Decode (https://underc0de.org/foro/index.php?action=profile;u=33482) si te molesta que el script te redirija a ese tipo de webs edita la linea 59 y listo.
Cierro el post para evitar que se siga desvirtuando.
Saludos!