Advertisement:

Author Topic: Hay alguna manera de hacer esto?  (Read 2967 times)

comettom

  • Newbie
  • *
  • Posts: 22
Hay alguna manera de hacer esto?
« on: October 05, 2011, 04:18:32 am »
Hola de nuevo... estuve viendo los logs (aparte de encontrar el error anterior) encontré a un usuario que esta intentando seguramente o voltear mi servidor o tratando de hackear mysql...

[Tue Oct 04 07:49:34 2011] [error] [client 66.249.71.148] PHP Warning: mysqli::query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 224
[Tue Oct 04 07:49:34 2011] [error] [client 66.249.71.148] PHP Warning: DB::osc_dbFetchResult() [<a href='function.DB-osc-dbFetchResult'>function.DB-osc-dbFetchResult</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 230
[Tue Oct 04 07:49:34 2011] [error] [client 66.249.71.148] PHP Warning: DB::osc_dbFetchResult() [<a href='function.DB-osc-dbFetchResult'>function.DB-osc-dbFetchResult</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 230
[Tue Oct 04 07:49:34 2011] [error] [client 66.249.71.148] PHP Warning: DB::osc_dbFetchResult() [<a href='function.DB-osc-dbFetchResult'>function.DB-osc-dbFetchResult</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 232
[Tue Oct 04 07:49:35 2011] [error] [client 66.249.71.148] PHP Warning: mysqli::query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 250
[Tue Oct 04 07:49:35 2011] [error] [client 66.249.71.148] PHP Warning: DB::osc_dbFetchResults() [<a href='function.DB-osc-dbFetchResults'>function.DB-osc-dbFetchResults</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 256

Tengo miles de estas lineas solo hoy en el error log... habrá alguna manera de impedir el search continuo... o sea que le den al buscar miles de veces?
o filtrar por ip la cantidad de pedidos?

Me di cuenta de esto por que el servidor se puso lentísimo en un momento dado...

Muchas gracias de nuevo... saludos

_CONEJO

  • Administrator
  • Hero Member
  • *****
  • Posts: 4689
Re: Hay alguna manera de hacer esto?
« Reply #1 on: October 05, 2011, 12:26:47 pm »
Hola cometton,

Desde PHP se podría hacer algo pero sería más lento que tocar el iptables/firewall directamente.

Es decir, si el control lo pones en PHP, éste tiene que ejecutarse (apache + php), mientras que si lo pones en el firewall del servidor, ni siquiera apache llega a ejecutarse.

Si están intentando tumbar tu servidor, la segunda opción es lo que deberías hacer, quizás habla con los de tu hosting y trazar un plan conjunto.

¿Podrías enviarme los logs completos (php + apache + mysql)? (por mensaje privado), simplemente por ver con qué tipo de url y de queries están intentando entrar.


Saludos

comettom

  • Newbie
  • *
  • Posts: 22
Re: Hay alguna manera de hacer esto?
« Reply #2 on: October 05, 2011, 03:52:03 pm »
Hola _CONEJO, ya hable con los del hosting, me dijeron que lo podríamos hacer pero que seguramente van a cambiar los ip seguido, así que seria medio inútil filtrarlo por ip... pero bueno lo haremos igual...
Lo que decía de hacer (que no tengo idea como se hace) es lo que hacen en algunos foros y paginas que cuando intentas hacer una búsqueda después de otra, te aparece un cartelito que dice que no se puede hacer búsquedas tan seguido... lo mas probable es que lo hagan con una cookie o algo así... ya lo voy a investigar...
Por lo pronto agregue un pequeño sistema de cache, así no se utiliza tanto la base de datos... seria muy interesante hacer esto como un plugin...
Sobre los logs, no tengo problemas de enviártelos, pero son 10 mb mas o menos, como quieres que hagamos?
Saludos... muchas gracias...

_CONEJO

  • Administrator
  • Hero Member
  • *****
  • Posts: 4689
Re: Hay alguna manera de hacer esto?
« Reply #3 on: October 05, 2011, 04:22:27 pm »
Hola,


http://whois.domaintools.com/66.249.71.148 parece que la IP pertenece a google y es su robot, aún así, mysql no debería quejarse, así que estamos investigando qué podría ser la causa, en principio no hemos podido replicar el error, de ahí que necesitemos/queramos los logs, me lo puedes enviar al correo desteban@osclass.org o meterlos en dropbox/ftp/algún sistema similar (te avisaría cuando los descargase para que los eliminaras si es que fuera el caso).

Por lo de la caché, ya tenemos un plugin que estamos probando y que sacaremos dentro de poco.

Saludos

comettom

  • Newbie
  • *
  • Posts: 22
Re: Hay alguna manera de hacer esto?
« Reply #4 on: October 05, 2011, 06:01:58 pm »
_CONEJO te envie un privado.... saludos.

comettom

  • Newbie
  • *
  • Posts: 22
Re: Hay alguna manera de hacer esto?
« Reply #5 on: October 08, 2011, 04:59:33 pm »
Hola de nuevo, viendo nuevamente los logs, este error se esta repietiendo miles y miles de veces.. si tienen alguna idea de que puede ser?

[Sat Oct 08 07:46:56 2011] [error] [client 66.249.71.139] PHP Warning: Invalid argument supplied for foreach() in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/frm/Category.form.class.php on line 34
[Sat Oct 08 07:46:56 2011] [error] [client 66.249.71.139] PHP Warning: mysqli::query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 250
[Sat Oct 08 07:46:56 2011] [error] [client 66.249.71.139] PHP Warning: DB::osc_dbFetchResults() [<a href='function.DB-osc-dbFetchResults'>function.DB-osc-dbFetchResults</a>]: Couldn't fetch mysqli in /var/www/vhosts/site.com/httpdocs/oc-includes/osclass/db.php on line 256


Juan Ramón

  • Osclass Developer
  • Hero Member
  • *****
  • Posts: 2382
Re: Hay alguna manera de hacer esto?
« Reply #6 on: October 11, 2011, 07:29:09 pm »
Todavía no sabemos que es, pero a la vez que estamos actualizando los modelos (las clases Category, Item, etc.) estamos haciendo unit testing... con lo cual si hay algo mal yo creo que lo encontraremos :-)