Guía para usuarios: Plugins de inicio de sesión temporal.
Sustituye la detección de enlaces de inicio de sesión temporal. Devuelve true para omitir comprobaciones de consultas sospechosas, false para ejecutarlas, o null para mantener la detección por defecto.
Parámetros
$is_temporary_login(bool|null): Resultado actual (nullsignifica que la detección por defecto aún no ha decidido)$request_uri(string): URI de la petición$query_string(string): Cadena de consulta
Valores de retorno
true: Omitir comprobaciones de consultas sospechosas (tratar como inicio de sesión temporal)false: Ejecutar comprobaciones de consultas sospechosasnull: Usar comprobación integrada de parámetros
Ejemplo: sustitución simple
add_filter('securityninja_is_temporary_login_link', function($is_temporary_login, $request_uri, $query_string) {
if (strpos($query_string, 'custom_token=') !== false) {
return true;
}
return $is_temporary_login;
}, 10, 3);
Ejemplo: detección personalizada
add_filter('securityninja_is_temporary_login_link', function($is_temporary_login, $request_uri, $query_string) {
if (preg_match('/myplugin_token=[a-zA-Z0-9]{64}/', $query_string)) {
if (is_plugin_active('my-plugin/my-plugin.php')) {
return true;
}
}
if (strpos($request_uri, '/special-login/') !== false && isset($_GET['auth_code'])) {
return true;
}
return $is_temporary_login;
}, 10, 3);
Ejemplo: forzar comprobaciones para un patrón
add_filter('securityninja_is_temporary_login_link', function($is_temporary_login, $request_uri, $query_string) {
if (strpos($query_string, 'eval(') !== false) {
return false;
}
return $is_temporary_login;
}, 10, 3);
Cuándo usar este filtro
- Tu plugin usa nombres de parámetros de consulta que no coinciden con la lista integrada
- Necesitas validación más allá de la simple presencia del parámetro
- Quieres condiciones basadas en URL u otras condiciones de petición
- Te integras con plugins que tienen flujos de autenticación poco habituales
Notas de seguridad
- Verifica que el plugin esté activo antes de omitir comprobaciones
- Valida formatos de token
- Considera limitar la frecuencia para enlaces de inicio de sesión temporal personalizados
- Registra detecciones personalizadas cuando necesites una pista de auditoría
- Devuelve
falsepara patrones sospechosos aunque se parezcan al formato de tu plugin