Valider un formulaire coté serveur [Résolu]

Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Dernière intervention
15 juin 2011
- - Dernière réponse : 77dom77
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Dernière intervention
15 juin 2011
- 15 juin 2011 à 20:59
Bonjour!

Je fais une fois de plus appel votre soutien technique!

Dans la partie administrateur de mon site, je souhaite mettre en ligne des informations via ckeditor.
J'ai cru comprendre qu'il fallait "valider le formulaire coté client" afin
qu'en cas de désactivation de javascript on pouvait envoyer du code dans les champs.

Quelqu'un peut m'expliquer ce que cela signifie "valider le formulaire coté client" et me mettre sur la piste dans le cas de ckeditor?

merci à tous.

Dom

Vers l'informatique et au delà...
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
C'est juste cliquer sur un bouton valider sur le formulaire html...

C'est tout

Le php s'exécute coté serveur (sur ta machine)
Le reste côté client (sur les postes des utilisateurs)

Après je ne comprends pas bien ce que tu veux faire à la validation du formulaire.

Pour t'assurer qu'un poste de travail autorise javascript, tu peux créer un bouton en javascript pour accéder à une fonctionnalité mais ce n'est pas terrible.

Merci cs_Julien39 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
3
Merci
bonjour

si un hacker devalide javascript souvent le cas
bonjour

ton ckditor sera un simple textarea mais il pourra toujours envoyé des données non controlé ou controlable par son navigateur qui est le client

alors la seule façon d'empêcher qu'il t'envoie des conneries
c'est de controler coté serveur c'est à dire ta variable
est controlé par php sur le serveur donc php controle
$_POST['non_du_textarea']
ou
$_GET['non_du_textarea']ce qu'il reçoit du navigateur

le hacker potentiel n'a pas acces au serveur, on filtre avec une regex ou une fonction comme mysql_real_escape_string ... pour une base mysql ... c'est bien plus efficace que de faire confiance au javascript
seulement , pour ma part je fais les deux javascript et php

a++


Bonne programmation !

Merci cod57 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cod57
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Dernière intervention
15 juin 2011
0
Merci
hello,

encore merci des réponses...

Pour l'instant je génère en parti les formulaires avec dreamweaver et après je change les textarea. Les codes mysql générés par dream. tiennent peut-être compte de ce problème, je vois cela ce soir en rentrant, en vous envoyant le code généré si je ne comprends pas.

A bientôt.


Vers l'informatique et au delà...
Commenter la réponse de 77dom77
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Dernière intervention
15 juin 2011
0
Merci
Bonsoir,

j'ai édité avec dreamweaver un exemple d'insertion de données dans une base de donnée mysql. Je me demande du coup si le code généré propose ta solution :
"$_POST['non_du_textarea']
ou
$_GET['non_du_textarea']ce qu'il reçoit du navigateur

le hacker potentiel n'a pas acces au serveur, on filtre avec une regex ou une fonction comme mysql_real_escape_string ... pour une base mysql ... c'est bien plus efficace que de faire confiance au javascript
seulement , pour ma part je fais les deux javascript et php"

Merci de m'éclairer!

voici le code:
<?php require_once('Connections/connect_bdcdi.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue "", $theNotDefinedValue "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO orientation (id, orientation) VALUES (%s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['orientation'], "text"));

mysql_select_db($database_connect_bdcdi, $connect_bdcdi);
$Result1 = mysql_query($insertSQL, $connect_bdcdi) or die(mysql_error());

$insertGoTo = "gabarit.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>

</head>


<form method="post" name="form2" id="form2">




</form>
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
>
<textarea id="editor1" name="editor1"></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'editor1' );
</script>,

----



</form>


</html>
Commenter la réponse de 77dom77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.