J'ai un formulaire pour éditer un nom d'utilisateur et un email. Donc, lorsqu'il met à jour le nom et le courrier électronique, il a besoin du nom d'utilisateur pour identifier la ligne à mettre à jour. P>
Donc, je voulais savoir s'il y a un élément qui est passé avec le formulaire, mais sans montrer la valeur ou être modifiable dans la balise d'entrée. P>
Donc, je reçois le nom d'utilisateur d'un script. Le script d'utilisateur Modifier obtient le nom et le courrier électronique de la base de données avec le nom d'utilisateur spécifié. Ensuite, il transmet ce nouveau nom et courrier électronique avec le nom d'utilisateur à un autre script qui le met à jour. P>
8 Réponses :
Je crois que vous recherchez masqué code> - ne peut être vu que dans la source de votre document HTML
nom code> - où il se trouvera dans le $ _Request / $ _ po / $ _ $ _ get ($ _Post ou $ _GET en fonction de la manière dont vous soumettez votre formulaire) variable sur soumettre
valeur code> - nom d'utilisateur que vous souhaitez que ce formulaire concerne
de
Pro Tip Strong>: Donnez un moyen de dire qui essaie de mettre à jour les utilisateurs afin que vous ne disposez pas de personnes non autorisées à mettre à jour vos informations utilisateur. Il serait très facile pour quelqu'un de changer le nom d'utilisateur dans le formulaire et d'essayer de mettre à jour quelqu'un d'autre. P> p>
Merci, ça a fonctionné. Et vous voulez dire que tout le monde peut changer le code tout en envoyant le formulaire et modifier les détails de quelqu'un d'autre. Alors pouvez-vous me dire comment le rendre plus sécurisé?
@Arjun Bajaj: Comment identifiez-vous / authentifiez-vous / authentifier actuellement vos utilisateurs? Il y a beaucoup de façons de rendre les applications Web plus sécurisées. La principale chose à garder à l'esprit est de jamais i> implicitement faire confiance au client. Vous voudrez vous assurer que un utilisateur est authentifié avant de traiter cette demande et assurez-vous (en utilisant le mécanisme d'autorisation que vous utilisez, tout système de rôles ou d'autorisations) que l'utilisateur est autorisé à effectuer cette action. Ce dernier bit se penche beaucoup vers la logique des affaires, alors que le premier est purement authentifiant.
Voici un tutoriel que j'ai trouvé, devriez commencer à vous donner une idée générale: CONNAISSEDURETRACOM /FORMS/TOPIC/7887-PHP-SIMPLE-LOGIN-TUNTITORI AL
Vous pouvez utiliser le type d'entrée caché
<input type="hidden" name = "username" value="<?php echo $username ?>">
Utilisez un:
<input type="hidden" />
Utilisez une étiquette d'entrée cachée:
Vous pouvez utiliser un champ de formulaire masqué: Ceci ne rendra pas sur le formulaire dans le navigateur et sera probablement ignoré et inaperçu par l'utilisateur. P>
Comme tous les autres ont déclaré que vous avez besoin d'une entrée cachée. Ce sera éditable, cependant, ne la faites jamais confiance comme vous ne faites jamais confiance à aucune autre donnée provenant de l'extérieur.
Mais j'aimerais ajouter qu'il serait plus agréable de ne pas utiliser le nom d'utilisateur pour identifier une ligne, ajouter une colonne d'identité. une clé primaire à votre base de données (éventuellement automatique incrémentée) et utilisez-la sous votre forme. p>
quelque chose comme p>
Arun, vous pouvez utiliser pour passer à passer des variables d'une page à une autre page. Construisez simplement des URL comme Un mot de prudence, filtrer les entrées utilisateur, être JS, obtenir des champs ou cachés. p> EdidTuser.php? Nom d'utilisateur = ARUN code> et ainsi de suite. C'est le seul moyen possible de transmettre des variables ou des données, bien sûr à l'écart des cookies, d'autres pages avec des balises de formulaire.
Deuxième méthode consiste à utiliser JavaScript pour créer un champ de formulaire caché et la mettre à jour avec nom d'utilisateur.
Le troisième est de simplement ajouter des balises d'entrée cachées. Mais cela nécessitera des étiquettes de formulaire. P>
Utilisez ceci si vous souhaitez l'utiliser en toute sécurité:
<?php
function encode($string,$key) {
$key = sha1($key);
$strLen = strlen($string);
$keyLen = strlen($key);
for ($i = 0; $i < $strLen; $i++) {
$ordStr = ord(substr($string,$i,1));
if ($j == $keyLen) { $j = 0; }
$ordKey = ord(substr($key,$j,1));
$j++;
$hash .= strrev(base_convert(dechex($ordStr + $ordKey),16,36));
}
return $hash;
}
function decode($string,$key) {
$key = sha1($key);
$strLen = strlen($string);
$keyLen = strlen($key);
for ($i = 0; $i < $strLen; $i+=2) {
$ordStr = hexdec(base_convert(strrev(substr($string,$i,2)),36,16));
if ($j == $keyLen) { $j = 0; }
$ordKey = ord(substr($key,$j,1));
$j++;
$hash .= chr($ordStr - $ordKey);
}
return $hash;
}
?>