FileZilla Server Autoban Application

Estándar

Automatic Tool to Update the IP Filter Disallowed

Users of Filezilla Server for Windows…congratulations, with this application your IP Disallowed Filter will be updated everyday from login/password errors readed from daily service logs.

I love Filezilla Server for Windows but native autoban options are not enough for me. In my web server clients not have FTP accounts, but i use a few for different reasons. I was bored to see the logs every day, every minute with people try hack the FTP Server with different user/password combinations. I don´t understand how filezilla server dont have a black list manager to control ip´s from logs.

But i decide to make my own updater tool. It´s very simple.

Te console application read the “same day” log file (making a copy, log file is blocked by Filezilla Service) , stores the ip´s with login errors and update XML configuration file, IP Filter Disallowed item.

But this its unsuccesful if service was not restarted…i do it also.

By this way i schedule the exe to execute about 23:55 every day, having the ftp server “IP Filter Disallowed” list updated.

Are you interested on this ?

You can try my tool download exe file from the github project repository, and also you can download the project and change it for free.

FileZilla Server Autoban IP Disallowed Updater

FileZilla Server Autoban IP Filter Disallowed Updater Project

Note: In newer version i will develop an min error count variable from same IP to be filtered. Sometimes a customer try to enter his FTP account with errors, maybe the filter only has to been fired if login error happens more than x times.

Disable Developer Tools from JQuery and javascript in Chrome, Firefox and IE

Estándar

devtools

Sometimes you need to disable Developer Tools on browsers to prevent problems in critical web apps. Although these techiques not block the contextual menu of each browser itself, you can turn off the key shortcuts for each browser and F12 or right click.

However if you are IT Manager, you can disable developer tools in Chrome from user data. http://stackoverflow.com/questions/5692006/how-to-uninstall-remove-developer-tools-from-google-chrome

Add your know-how in comments.

<script type="text/javascript" language="Javascript">

 
 function right(e) {
 if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) {
 alert(' Right Click ');
 return false;
 }
 else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2)) {
 alert(' Right click ');
 }
 }
 $(document).keydown(function (event) {
 var keys = [123, 16, 17, 67, 74, 73, 83, 81, 75, 118, 116];
 var keysCtrlShift = [67, 74, 73, 83, 81, 75];
 var keysOnlyShift = [118, 116];
 
 if ($.inArray(event.keyCode, keys) > -1) {
 //F12
 if (event.keyCode == 123) {
 return false;
 }
 //Ctrl + Shift
 if (event.ctrlKey && event.shiftKey && $.inArray(event.keyCode, keysCtrlShift) > -1) {
  return false; 
 }
 //Shift + F7 o F5 -- Firefox
 if (event.shiftKey && $.inArray(event.keyCode, keysOnlyShift) > -1) {
  return false;
 } 
 
 } 
});
 document.onmousedown = right
 </script>

Tienda Online / Ecommerce para ERP con SQL Server

sqlserverweb4x4
Estándar

Casi la totalidad de los sistemas de ecommerce actuales están basados en plataformas Open Source, tanto en el Front / Back, como en el motor de base de datos usado para los mismos. Lo mas común son sistemas sobre PHP (ya sea con Frameworks tipo Symfony o parecidos) entre los cuales tenemos Prestashop, Magento, y plugins para CMS como WooCommerce o VirtueMart, que funcionan sobre MySQL.

¿Pero que sucede con las tiendas que ya manejan un ERP sobre SQL Server y quieren vender online?. Al contrario que en el mundo digital, en el ámbito de las aplicaciones de gestión o ERP´s, las soluciones que trabajan con SQL Server son numerosas.  En este caso si el ERP ya tiene un modulo de ecommerce, lo normal es que la empresa opte por esta opción, pero no todas lo tienen , y en este caso existen otras opciones en las que Web4x4 puede ayudarte en tu negocio.

Como expertos en desarrollos de ecommerce hemos desarrollado varias plataformas propias, una sobre ASP clásico, y otra mas actual desarrollada en C# (que lanzaremos dentro de unos meses). En todos los casos nuestros desarrollos de ecommerce se realizan usando SQL Server como motor de base de datos. Para pymes existe una version SQL Server “Express” gratuita y que proporciona las funcionalidades adecuadas para cualquier ecommerce normal, lo que hace que el precio respecto a una opción Open Source sea muy parecido. En nuestro caso al igual que otras consultoras con Prestashop o Magento, lo que cobramos es la configuración e inicialización de la tienda online.

Pero ademas de estas plataformas propias podemos desarrollar sistemas de ecommerce “ad-hoc” para empresas que tengan su ERP sobre SQL Server, usando nuestro conocimiento y experiencia en entornos complejos Microsoft. Podemos generar un ecommerce que se integre de manera transparente con el ERP de tal forma que el negocio se beneficie de la venta online sin tener que cambiar su aplicación de gestión.

¿Te imaginas poder tener las ordenes de pedido de manera automática en tu ERP desde tu tienda online? Eso solo es la punta del iceberg: Clientes, Productos, Facturas, Estadísticas, etc, todo lo que puedas pedir es susceptible de integración, siempre que la base de datos sea legible.

La productividad y la información son 2 puntos clave en los negocios del siglo XXI y la integración de todas las plataformas de venta es algo imprescindible para un negocio moderno.

Si quieres mas información escríbenos a david.moral@web4x4.es o llámanos al 628 81 89 89

 

Chrome Network Error Download Files on C# or Vb.Net

error_network_chrome
Estándar

With the last update of Google Chrome (Versión 53.0.2785.116 m at this point) many Microsoft developers get the surprise of download buttons of their web applications start to fail with Network Error.

This maybe cause by the flush() and close() behaviour on our code and the use of this methods on download functions.

One of the solutions that i find to fix it, its to change flush() and close() to end() adding a empty System.Threading.ThreadAbortException catch to avoid problems on execution.

C#

...            
//Response.Flush();
//Response.Close();
Response.End();
}
catch (System.Threading.ThreadAbortException)
{}
.....

 

Vb.Net

Try
.....
'Response.Flush()
'Response.Close()
Response.End()
Catch exx As System.Threading.ThreadAbortException
End Try

 

I hope this work for you, share and comment this post.

Como crear un marketplace I

Marketplace
Estándar

El verdadero negocio ya no está en el ecommerce tradicional. Al igual que las pequeñas tiendas de barrio que fueron absorbidas por los grandes supermercados en el mundo real, en el mundo digital empieza a producirse el mismo fenomeno entre las tiendas online y los marketplace.

El ejemplo mas usado de marketplace lo tenemos en Amazon, un “all in one” donde podemos encontrar casi de todo, y que no parece que tenga techo en su cifra de ventas, al menos, de momento. Las ventajas para los usuarios son evidentes, poder comprar todo en el mismo sitio, al igual que en un comercio fisico, ademas, debido al volumen de ventas, estas plataformas pueden ofrecer otros servicios adicionales o el envío, a precios muy competitivos, incluso en ocasiones gratis.

La cuestión es como iniciar un proyecto de este estilo y en esta serie de post intentaré desgranar los puntos básicos en el tema técnico, que, debido a mi trayectoria, he podido ver de primera mano. A nivel profesional he participado en dos proyectos de marketplace, con resultados dispares (Portobellostreet.es y Timetak.com).

Experiencia Previa

Por un lado tenemos Portobellostreet.es, del que soy IT Manager y creador de toda la infraestructura técnica, todo con codigo inhouse, sin usar plataformas preprogramadas, como Magento o Prestashop. En Timetak fui el Project Manager de todo el desarrollo de la plataforma, tambien con código “adhoc”.

Plataformas ecommerce vs codigo “adhoc”.

Juan Macías es blogger, CEO de deMartina.com y consejero de Adigital (Asociación Española para la Economía Digital) y participa como inversor y advisor en varias start-ups. En su blog, escribió hace un tiempo un articulo sobre la situacion actual del ecommerce en España, en el cual, hablaba precisamente de este tema y de la plataforma a usar en este caso.

El quid de la cuestion es si es mejor usar plataformas preprogramadas o realizar desarrollos a medida. Mi opinión (y me ha costado el descarte en algun proceso de selección) es realizarlo siempre a medida. He aquí mis razones para hacerlo de esta forma:

  • Parametrizacion Inicial: Las plataformas como Magento y Prestashop aparecieron con funcionalidades que permiten a cualquier usuario medio crear una tienda online sin conocimientos de programación. Esto solo se consigue con una plataforma extremadamente rigida en cuanto al código que hay que mantener o modificar. En estos momentos, por ejemplo, Magento es una plataforma que ni siquiera un usuario medio es capaz de parametrizar, teniendo que recurrir a un programador, que en muchas ocasiones tiene esos mismos problemas, ya que al ser tan rigido, modificar cualquier aspecto se convierte en una locura.
  • Modificación y adaptación a nuevos escenarios: Al igual que al poner en marcha la beta de nuestro marketplace podemos hacerlo con este tipo de sistemas, cuando nuestro negocio evolucione y sea necesario pivotar, ofrecer otro tipo de servicios online, integraciones con ERP´s, CRM´s, etc, es muy probable que meter estos cambios en un Magento (por poner un ejemplo) sea directamente una hazaña, por las propias restricciones del sistema.
  • Actualizaciones: Estos sistemas reciben actualizaciones de forma constante, lo que hace complicado tocar partes “troncales” del propio sistema, ya que la actualización “sobreescribe” el código que tengamos insertado, o puede dejar inservibles nuestros propios módulos al cambiar la programación de los troncales.
  • Personal técnico: En una entrevista con 2 CEO´s de una empresa que aspira a convertirse en el Amazon español, me comentaban que era muy difícil encontrar verdaderos expertos en Magento y que eso complicaba la gestión de la plataforma, esto es otro handicap a la hora de apostar por estos sistemas.

eCommerce, la que se está liando

Tampoco digo que el código adhoc sea la panacea para un marketplace ( o cualquier negocio online) pero según mi punto de vista, cuando ya dispones (o vas a disponer, dependiendo del nivel de inversión) de un equipo de desarrollo, el código “hecho en casa” se ajustara al 100% a tus necesidades y podrá evolucionar en el tiempo junto a tu negocio, adaptándose a los cambios que se vayan necesitando.

Sobre el tema del personal técnico, usando un lenguaje de programación común (C#, PHP, o Java) no deberías de tener problemas si tienes rotación de personal, siempre que tu proyecto y equipo cumpla una serie de estándares sobre documentación y patrones de programación, del tal forma que el know-how del proyecto no resida solamente en la cabeza de una u otra persona.

Comienzo de proyecto

Es importante en este tipo de proyectos contar con las personas adecuadas para liderar la parte técnica.

Deben ser conocedores del mundo ecommerce, a nivel desarrollo y sistemas, para tener una visión estratégica a largo plazo que haga posible el crecimiento sin problemas. Ha continuación desgranamos puntos importantes para comenzar un proyecto de estas características.

Análisis Funcional

Es quizás la parte mas importante del proyecto. Aquí se deciden las funcionalidades y reglas de negocio que definen todo el sistema: tanto la web (Front), como los paneles de vendedores o proveedores (Back). Este análisis funcional definirá buena parte de la estructura de datos y funciones a desarrollar, y hará ,que la evolución y mantenimiento de todo el sistema sean en el futuro mas sencillos o convertirlos en un infierno. Es conveniente realizar este análisis pensando en una metodologia LEAN, que nos permita diseñar un PMV (Producto Minimo Viable) para probar el modelo de negocio sin tener que desarrollar el 100% de la plataforma. Algo que la mayoria de startups no se pueden permitir,

Elección de lenguaje de programación, servidor web, base de datos

El CTO debe hacer un estudio muy detallado de la previsión de visitas que tendrán las diferentes áreas del marketplace, ya que hay que decidir entre diferentes tipos de servidores y lenguajes, los cuales se valoran por varios criterios: velocidad, escalabilidad, mantenimiento, fiabilidad, coste, etc.

Incluso a nivel de base de datos es necesario tener en cuenta que uso y necesidades de análisis se darán en el futuro, ya que puede interesar desarrollar directamente sobre herramientas NoSQL como MongoDB o Cassandra.

En este artículo de nuestro blog desgranamos un poco los diferentes tipos de servidores web para nuestros proyectos.

Equipo

Este es uno de los handicaps de este tipo de proyectos, ya que es raro que el equipo de desarrollo este constituido antes de empezar el proyecto. Suele empezar alguno de los socios, que además hace las funciones de CTO. En principio es casi una necesidad empezar de esta forma pero al poco tiempo será necesario introducir desarrolladores para terminar la plataforma de forma optima.

Nunca contratéis becarios para estas funciones. Tened en cuenta que esto es la base de vuestro futuro negocio, es la estructura sobre la que construir toda la empresa. Siempre profesionales y si están bien pagados mejor que mejor, ya que recibirás mas compromiso y lealtad hacia el proyecto. Si, cuando trabajas por cuenta ajena eres un mercenario, trabajas por dinero. Si eres el dueño o socio encargado de las contrataciones hazte a la idea rápido. La mayoría de personas tienen necesidades que se cubren con dinero, una vez resueltas ya puedes evangelizarlas sobre lo chachi que es tu proyecto. En el futuro ellos serán los primeros “soldados” de vuestro ejercito, y los necesitareis motivados para los días malos en los que todo sale mal.

En el siguiente artículo seguiremos con las consideraciones iniciales, así como la planificación del desarrollo y elementos a tener en cuenta antes del lanzamiento de nuestro marketplace.