30 AprUn mes sin spam
Thursday, 30 April 2009 — 12:00Llevo alrededor de un mes sin que se cuele nada de spam usando la técnica que comenté en un post anterior. La idea consiste en ocultar uno de los campos del formulario, un usuario al no verlo, no lo rellenará, un robot por su parte, no dudará ni un segundo en hacerlo.
<% form_for @comment do |f| %> <p> <%= f.label :name, t(".your_name") %> <%= f.text_field :name %> </p> <p> <%= f.label :email, t(".your_email") %> <%= f.text_field :email %> </p> <p> <%= f.label :url, t(".your_url") %> <%= f.text_field :url %> </p> <p> <%= f.label :body, t(".your_comment") %> <%= f.text_area :body, :rows => 5 %> </p> <p> <%= submit_tag t("common.save_changes") %> </p> <% end %>
Simplemente, hay que tener cuidado con no darle pistas, hay que evitar poner un style=“hidden”, ni nada parecido, mejor hacerlo por javascript:
$(function() { if ($("#new_comment").length) { $("#comment_url").parent().hide(); } });
Efectivo y simple.