Valider un formulaire coté serveur

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

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
15 juin 2011 à 10:59
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.
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 juin 2011 à 11:10
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 !
3
77dom77 Messages postés 7 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 15 juin 2011
15 juin 2011 à 13:19
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à...
0
77dom77 Messages postés 7 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 15 juin 2011
15 juin 2011 à 20:59
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>
0
Rejoignez-nous