hola a todos, bueno como ya saben, mi web de mascotas, desde hace unos dias, se me añaden mascotas a traves de un tipo bot, cada pocos min se agrega alguna...
de este tipo

he metido una captcha en el formulario de agregar mascotas, pero aun asi se añaden....
alguna idea que mas puedo hacer?
Editado
de este tipo

he metido una captcha en el formulario de agregar mascotas, pero aun asi se añaden....
alguna idea que mas puedo hacer?
Editado
0
Puntos
Puntos
1507
Visitas
Visitas
13
Resp
Resp
Por zapikero hace 9 años
Developer
Respuesta #1
hola tenes que ver en tu configuracion de httaccses
hay codigos de bloquear bots
y tambien usa ronots.txt
hay codigos de bloquear bots
y tambien usa ronots.txt
0
Puntos
Puntos
Por pablo hace 9 años
Master
Respuesta #2
Vale. En httaccess tengo lo básico para url amigables.
Sábes por donde tirar ahí?
Sábes por donde tirar ahí?
0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #3
en el .htaccses
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
</LIMIT>
RewriteCond %{HTTP_USER_AGENT} ^(turingos|turnitinbot|urly.?warning|vacuum|vci|voideye|whacker) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(wget|widow|wisenutbot|wwwoffle|xaldon|xenu|zeus|zyborg|anonymouse) [NC,OR]
# STARTS WITH WEB
RewriteCond %{HTTP_USER_AGENT} ^web(zip|emaile|enhancer|fetch|go.?is|auto|bandit|clip|copier|master|reaper|sauger|site.?quester|whack) [NC,OR]
# ANYWHERE IN UA — GREEDY REGEX
RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|TwengaBot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures|ia_archiver-web.archive.org).*$ [NC]
# ISSUE 403 / SERVE ERRORDOCUMENT
RewriteRule . – [F,L]
deny from 216.120.143.126
# # robots.txt # User-agent: Orthogaffe Disallow: / User-agent: UbiCrawler Disallow: / User-agent: DOC Disallow: / User-agent: Zao Disallow: / User-agent: sitecheck.internetseer.com Disallow: / User-agent: Zealbot Disallow: / User-agent: MSIECrawler Disallow: / User-agent: SiteSnagger Disallow: / User-agent: WebStripper Disallow: / User-agent: WebCopier Disallow: / User-agent: Fetch Disallow: / User-agent: Offline Explorer Disallow: / User-agent: Teleport Disallow: / User-agent: TeleportPro Disallow: / User-agent: WebZIP Disallow: / User-agent: linko Disallow: / User-agent: HTTrack Disallow: / User-agent: Microsoft.URL.Control Disallow: / User-agent: Xenu Disallow: / User-agent: larbin Disallow: / User-agent: libwww Disallow: / User-agent: ZyBORG Disallow: / User-agent: Download Ninja Disallow: / User-agent: wget Disallow: / User-agent: grub-client Disallow: / User-agent: k2spider Disallow: / User-agent: NPBot Disallow: / User-agent: WebReaper Disallow: /
1
Puntos
Puntos
Por pablo hace 9 años
Master
Respuesta #4
Gracias Pablo! voy a probar y ya ire comentando a ver que tal :)
0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #5
nada, puesto en practica y nada, en 20 minutos 3 mascotas añadidas....
como comente, meti captcha pero aun asi... insertan... no se si utilizara directamente el insert o que... puede ser por ahi donde inserte?
como comente, meti captcha pero aun asi... insertan... no se si utilizara directamente el insert o que... puede ser por ahi donde inserte?
0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #6
pego mi insert por si acaso se puede hacer algo por ahi
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO animales (nombre, estado, raza, tamano, categoria, edad, sexo, salud, color, esterilizado, foto, foto2, foto3, foto4, foto5, descripcion, contacto, telefono, email, ciudad, envio) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['estado'], "text"),
GetSQLValueString($_POST['raza'], "text"),
GetSQLValueString($_POST['tamano'], "text"),
GetSQLValueString($_POST['categoria'], "text"),
GetSQLValueString($_POST['edad'], "text"),
GetSQLValueString($_POST['sexo'], "text"),
GetSQLValueString($_POST['salud'], "text"),
GetSQLValueString($_POST['color'], "text"),
GetSQLValueString($_POST['esterilizado'], "text"),
GetSQLValueString($_POST['foto'], "text"),
GetSQLValueString($_POST['foto2'], "text"),
GetSQLValueString($_POST['foto3'], "text"),
GetSQLValueString($_POST['foto4'], "text"),
GetSQLValueString($_POST['foto5'], "text"),
GetSQLValueString($_POST['descripcion'], "text"),
GetSQLValueString($_POST['contacto'], "text"),
GetSQLValueString($_POST['telefono'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['ciudad'], "text"),
GetSQLValueString($_POST['envio'], "text"));
mysql_select_db($database_mundo, $mundo);
$Result1 = mysql_query($insertSQL, $mundo) or die(mysql_error());
$insertGoTo = "envio-realizado.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #7
MM
y trata de hecarlos de la web mediante httaccsess con el ip
fijate si tambien los usuarios no posten si no estan registrados.
y trata de hecarlos de la web mediante httaccsess con el ip
fijate si tambien los usuarios no posten si no estan registrados.
0
Puntos
Puntos
Por pablo hace 9 años
Master
Respuesta #8
No tengo aun hecho registro de usuarios...
Como puedo echarles?
Como puedo echarles?
0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #9
en en panel de administrator de tu host, existe una herramienta que esta revizando constantemente el trafico de tu sitio web, fijate que el analisis lance nombre de los bots que entran y salen de tu sitio, por lo general todos se quedan, si esta informacion no te aparece, ponte en contacto con el servicio al cliente de tu host, y ellos deberna orientarte un poco mas, al tener el nombre los bot, agregalos a tu archivo htaccess Y/O a tu robots.txt, si los nombres ya figuran en el o los documentos, entonces deberas verificar que el archivo robots.txt este en el lugar correcto, asi como reviza tanto el codigo de este archivo Y/O el de htaccess, esto para evitar que haya algun error que impida el buen funcionamiento...
tambien impleta seguridad en cuanto que usuarios pueden y no pueden subir post, comentar, etc... esto lo puedes hacer mediante el camino del rango, pero para esto deberas hacer el registro de usuarios, esto es una pieza clave, quizas no quieres que los usuarios se puedan registrar, entonces crea una tabla con usuarios y agregas tus datos, implementando el rango claro, pero es recomendable que hagas una pagina de registro y tambien poner una medida de seguridad.
tambien impleta seguridad en cuanto que usuarios pueden y no pueden subir post, comentar, etc... esto lo puedes hacer mediante el camino del rango, pero para esto deberas hacer el registro de usuarios, esto es una pieza clave, quizas no quieres que los usuarios se puedan registrar, entonces crea una tabla con usuarios y agregas tus datos, implementando el rango claro, pero es recomendable que hagas una pagina de registro y tambien poner una medida de seguridad.
0
Puntos
Puntos
Por jesxs hace 9 años
Novice
Respuesta #10
me falto, tambien tienes que estar seguro que sea un bot el que este agregando los post, quizas no sea un bot, puede ser tambien alguna persona que te esta haciendo una mala pasada, por eso serciorate bien de que es el problema, asi podras corregirlo sin mayor problema.
0
Puntos
Puntos
Por jesxs hace 9 años
Novice
Respuesta #11
Gracias jesxs! Yo creo que tiene que ser un bot por que es constante...
Are lo q me comentas y te iré diciendo :)
Are lo q me comentas y te iré diciendo :)
0
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #12
Al final el problema persiste... Así que estoy creando sistema de login para así bloquearlo.
Y con esto quedará solucionado :)
Y con esto quedará solucionado :)
1
Puntos
Puntos
Por zapikero hace 9 años
Developer
Respuesta #13
eso no es un bot, lo que pasa es que solo estas validando el campo MM_insert es decir puedes enviar el formulario completamente vacio solo tienes que dar clic en agregar y listo! ya tienes un post vacio insertado
trata de validar por javascript y php veras como no te entran mas nada, en el fichero que inserta despues de la conexión pon algo como esto:
trata de validar por javascript y php veras como no te entran mas nada, en el fichero que inserta despues de la conexión pon algo como esto:
if(!isset($_POST['nombre']) || $_POST['nombre']=='' || $_POST['estado']=='') exit;pero con todos los campos $_POST que estas enviando que no son pocos y ademas pon validación javascript, aqui te lo explican de pu** madre https://www.youtube.com/watch?v=U9R-PUhwv_0&list=PLn6DZNSAhHfttuiGIbvEdyo_8OEWC6sAZ
1
Puntos
Puntos
Por alber hace 9 años
Admin