Problema de inserción automática
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
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 91 meses
Experto
Respuesta #2
Vale. En httaccess tengo lo básico para url amigables.
Sábes por donde tirar ahí?
Sábes por donde tirar ahí?
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 91 meses
Experto
Respuesta #4
Gracias Pablo! voy a probar y ya ire comentando a ver que tal :)
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?
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)); } ?>
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 91 meses
Experto
Respuesta #8
No tengo aun hecho registro de usuarios...
Como puedo echarles?
Como puedo echarles?
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 91 meses
Desactivado
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 91 meses
Desactivado
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 :)
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 :)
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 89 meses
Administrador