Aquí tenéis a un friki que ha reversado esa línea de JS
https://www.alexkras.com/reverse-engineering-one-line-of-javascript/
En otras palabras.
Los que cobran por línea de código:
const DELAY = 64; // approximately 15 frames per second 15 frames per second * 64 seconds = 960 frames
var n = 1;
var p = document.getElementById("p");
// var draw = "for(n+=7,i=delay,P='p.\\n';i-=1/delay;P+=P[i%2?(i%2*j-j+n/delay^j)&1:2])j=delay/i;p.innerHTML=P";
/**
* Draws a picture
* 128 chars by 32 chars = total 4096 chars
*/
var draw = function() {
var i = DELAY; // 64
var P ='p.\n'; // First line, reference for chars to use
var j;
n += 7;
while (i > 0) {
j = DELAY / i;
i -= 1 / DELAY;
let index;
let iIsOdd = (i % 2 != 0);
if (iIsOdd) {
let magic = ((i % 2 * j - j + n / DELAY) ^ j); // < ------------------
let magicIsOdd = (magic % 2 != 0); // &1
if (magicIsOdd) { // &1
index = 1;
} else {
index = 0;
}
} else {
index = 2;
}
switch (index) { // P += P[index];
case 0:
P += "p"; // aka P[0]
break;
case 1:
P += "."; // aka P[1]
break;
case 2:
P += "\n"; // aka P[2]
}
}
//Update HTML
p.innerHTML = P;
};
setInterval(draw, 64);
Los que cobran por productividad:
<pre id=p><script>n=setInterval("for(n+=7,i=k,P='p.\\n';i-=1/k;P+=P[i%2?(i%2*j-j+n/k^j)&1:2])j=k/i;p.innerHTML=P",k=64)</script>
#9604 Lo de la productividad, si luego no documentan y es totalmente ilegible, como si te la cascas y no te corres.
#9610 Debugear con visual studio es una maravilla, el problema ahí que está en chino y que no han quitado el log de errores en producción.
He ampliado mi proyectillo para crear monitores de servidores Jenkins, algun iluso que quiera probarlo y darme feedback?
#9612 Esto es lo que pasa cuando pones a un Pythonero a programar en un lenguaje de verdad.
Me han pasado una web a la que le he hecho unos cambios mínimos de estilos, y añadido el recaptcha en un formulario de contacto, el cual este mandaba un correo al gerente, que también he cambiado el layout añadiendo HTML.
Aun habiendo cambiado el estilo del correo y haber añadido recaptcha, sigo recibiendo emails de bots con el antiguo layout... Y son correos recibido desde el smtp interno.
Aunque ellos tengan la web en su caché o lo que sea que pase, para enviar el correo ha de pasar por mis .php nuevos... ¿No? ¿Como evito el spam de dildos y viagras? :regan:
#9619 lo mejor que puedes hacer es disfrutar de los dildos y viagras que te regalan nuestros amigos rusos.
#9619 quizas mandaron tantos correos que el servidor smtp creó una cola y los sigues recibiendo.
Acabarán por desaparecer.
#9619 Puedes validar el email mirando el contenido del mensaje, si el mensaje contiene alguna palabra blacklisted ni lo envias, por ejemplo podrías poner "sex", "viagra", "javascript"...
Luego si vas a enseñar el email por la página web en vez de ponerlo en texto plano puedes partirlo con js y lo imprimes luego, de esta manera:
<script type="text/javascript">
document.write('<a href="mailto:'+first + '@' + last+'">'+first + '@' + last+'<\/a>');
</script>
<noscript>
Please enable javascript or use my <a href="/contact.php">contact form</a>
</noscript>
También tienes mil técnicas honeypot en google.
#9624 En realidad es para que el bot almacene un email fake y no encuentre el del script, por ejemplo pones un input random por ahí del estilo:
<input type="hidden" name="email" value="[email protected]" />
El bot lo encontrará y puede que de esta manera no vea el otro, de todos modos los bots no interpreta el javacript así que CREO que no encontraría el email escupido con JS.
También hay otros metodos de honeypot, puedes poner un input en un form y darle nombre "email_h", lo ocultas con CSS y si alguna vez te llega rellenado al validar es muy probable que sea un bot, ya que el usuario no puede verlo.