Valider un formulaire coté serveur [Résolu]

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

4 réponses

Répondre au sujet
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 15 juin 2011 à 10:59
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Julien39
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 15 juin 2011 à 11:10
+3
Utile
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 !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cod57
77dom77 7 Messages postés lundi 21 janvier 2008Date d'inscription 15 juin 2011 Dernière intervention - 15 juin 2011 à 13:19
0
Utile
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
77dom77 7 Messages postés lundi 21 janvier 2008Date d'inscription 15 juin 2011 Dernière intervention - 15 juin 2011 à 20:59
0
Utile
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.