- Desde
- 26 Dic 2013
- Mensajes
- 60
No se si conoceis este tipo de fallo de seguridad, pero es muy común y en algo puede perjudicar a los bots.
Lo que hace el script es generar un TOKEN para el formulario cada vez qe se carga una pagina. Y que 100% necesario ejecutarlo con javascript para evitar coger su valor, desde texto plano.
Tengo varias funciones que deben estar siempre activas...
Y donde tengas un formulario coges y metes esto...
Esto sacaria algo asi...
Por tanto alguien que intente ver la pagina en texto plano no le mostrara correctamente, esto..
Pero el navegador si lo leera correctamente siempre y cuando tenga activado JAVASCRIPT...
Espero que os sirva, de esta forma no os pondran inyectar los formularios y no tendreis que depender de ReCaptch o sistemas similares...
Un saludo
Lo que hace el script es generar un TOKEN para el formulario cada vez qe se carga una pagina. Y que 100% necesario ejecutarlo con javascript para evitar coger su valor, desde texto plano.
Tengo varias funciones que deben estar siempre activas...
PHP:
if (!empty($_POST)) {
$token = $_POST[$_SESSION["token"]];
if ($token != $_SESSION["token_seg"]) {
echo "Acción no permitida";
exit;
}
}
generarToken();
function generarToken() {
$_SESSION["token"] = uniqid("token_");
$_SESSION["token_seg"] = md5(uniqid());
}
function ToHex($string) {
$hex = '';
for ($i=0; $i < strlen($string); $i++) {
$hex .= '%' . bin2hex($string[$i]);
}
return $hex;
}
PHP:
<script>document.write(unescape('<?= strtoupper(stringToHex('<input type="hidden" name="' . $_SESSION["token"] . '" value="' . $_SESSION["token_seg"] . '" />')) ?>'));</script>
HTML:
<script>document.write(unescape('%3C%69%6E%70%75%74%20%74%79%70%65%3D%22%68%69%64%64%65%6E%22%20%6E%61%6D%65%3D%22%74%6F%6B%65%6E%5F%35%32%64%31%33%32%34%35%62%63%36%32%37%22%20%76%61%6C%75%65%3D%22%32%36%61%64%31%31%64%34%31%64%66%36%62%64%37%65%66%64%38%30%61%63%32%66%61%38%30%63%35%32%31%62%22%20%2F%3E'));</script>
HTML:
<input type="hidden" value="ba7edc0a320ea1577b8afd48dc2d17de" name="token_52d133287ee46">
Pero el navegador si lo leera correctamente siempre y cuando tenga activado JAVASCRIPT...
Espero que os sirva, de esta forma no os pondran inyectar los formularios y no tendreis que depender de ReCaptch o sistemas similares...
Un saludo
Última edición: