oci_password_change
(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
oci_password_change — Modifie le mot de passe d'un utilisateur Oracle
Description
$connection
, string $username
, string $old_password
, string $new_password
) : bool$dbname
, string $username
, string $old_password
, string $new_password
) : resource
Modifie le mot de passe de l'utilisateur username
.
La fonction oci_password_change() est plus utile avec des scripts PHP en ligne de commandes, ou lorsque des connexions non persistantes sont utilisées dans l'application PHP.
Liste de paramètres
-
connection
-
Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect().
-
username
-
Le nom d'utilisateur Oracle.
-
old_password
-
L'ancien mot de passe.
-
new_password
-
Le nouveau mot de passe à définir.
-
dbname
-
Le nom de la base de données.
Exemples
Exemple #1 Exemple avec oci_password_change() pour changer le mot de passe d'un utilisateur déjà connecté
<?php
$dbase = 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';
$c = oci_pconnect($user, $current_pw, $dbase);
oci_password_change($c, $user, $current_pw, $new_pw);
echo "Le nouveau mot de passe est : " . $new_pw . "\n";
?>
Exemple #2 Exemple avec oci_password_change() pour se connecter et changer le mot de passe en une seule étape
<?php
$dbase = 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';
$c = oci_pconnect($user, $current_pw, $dbase);
if (!$c) {
$m = oci_error();
if ($m['code'] == 28001) { // "ORA-28001: Le mot de passe a expiré"
// Connexion et changement du mot de passe en une étape
$c = oci_password_change($dbase, $user, $current_pw, $new_pw);
if ($c) {
echo "Le nouveau mot de passe est : " . $new_pw . "\n";
}
}
}
if (!$c) { // L'erreur originale n'était pas 28001, ou la modification du mot de passe a échoué
$m = oci_error();
trigger_error('Impossible de se connecter à la base de données : '. $m['message'], E_USER_ERROR);
}
// Utilisation de la connexion $c
...
?>
Notes
Note:
Changer le mot de passe, avec cette fonction, ou directement dans Oracle devrait être fait avec précaution. Ceci car les applications PHP pourraient continuer d'utiliser des connexions persistantes avec l'ancien mot de passe. La meilleure pratique est de redémarrer tous les serveurs webs dès lors que le mot de passe a été changé.
Note:
Si vous mettez à jour les bibliothèques clients ou la base de données Oracle depuis une version antérieure à 11.2.0.3 vers une version 11.2.0.3 ou supérieure, la fonction oci_password_change() peut retourner l'erreur "ORA-1017: invalid username/password" tant que les versions du client et du serveur ne seront pas identiques.
Note:
La seconde syntaxe de oci_password_change() est disponible depuis la version de OCI8 1.1.
Note:
Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocipasswordchange(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_password_change(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.
Version en cache
25/11/2024 18:40:25 Cette version de la page est en cache (à la date du 25/11/2024 18:40:25) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-oci-password-change.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.