Valider un formulaire coté serveur [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2011
-
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2011
-
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à...

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
342
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.
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2011

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à...
Messages postés
7
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
15 juin 2011

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>