web-dev-qa-db-fra.com

Pages protégées par Wordpress

Serait possible d'accéder aux pages protégées avec mot de passe par un jeton. Ce que je veux dire, je passe le jeton par URL, va être vérifié si la page est protégée, si oui, vérifiez si l'URL a le jeton que le jeton à vérifier si correspond ou non.

1
fefe

Le système de publication protégé utilise POST donc, par défaut, non. Cependant, voici un mécanisme simple qui vous permettra de le faire.

function bypass_protected_post() {
  if (is_single()) {
    global $post,$_GET;
    if (isset($post->post_password)) {
      $bypasskey = get_post_meta($post->ID, 'bypasskey', true);
      if (isset($_GET['bypasskey']) && $_GET['bypasskey'] == $bypasskey) {
        $post->post_password = null;
      }
    }
  }
}
add_action('wp_head','bypass_protected_post');

Vous devez définir la valeur bypasskey pour la publication à l'aide du formulaire Champs de méta personnalisés standard. Vous accéderiez à la publication protégée en ajoutant ?bypasskey=<whatever> à l'URL. Placez ceci dans le functions.php de votre thème et vous êtes prêt à partir.

Considérez ceci comme une sorte de preuve de concept. Je ne pense pas que je mettrais en œuvre exactement comme il est. Je l'insérerais probablement dans un plugin et utiliserais des clés uniques ou des clés d'une durée de vie limitée - disons deux ou trois jours. Et peut-être inclure un générateur de clé aléatoire.

1
s_ha_dum