Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer
ne sont pas forcément les mêmes.
Ca me parait dangereux intrinsèquement. Par curiosité, quelles
différences pourrions nous envisager en se basant exclusivement sur ce
critère ?
Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer
ne sont pas forcément les mêmes.
Ca me parait dangereux intrinsèquement. Par curiosité, quelles
différences pourrions nous envisager en se basant exclusivement sur ce
critère ?
Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer
ne sont pas forcément les mêmes.
Ca me parait dangereux intrinsèquement. Par curiosité, quelles
différences pourrions nous envisager en se basant exclusivement sur ce
critère ?
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Il est marrant de voir comment vous défendez ce protocole dans certaines
circonstances ( cf le cas rabattu du header Location ) et de voir
comment ça ne vous dérange pas de la violer dans d'autres circonstances.
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Il est marrant de voir comment vous défendez ce protocole dans certaines
circonstances ( cf le cas rabattu du header Location ) et de voir
comment ça ne vous dérange pas de la violer dans d'autres circonstances.
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Il est marrant de voir comment vous défendez ce protocole dans certaines
circonstances ( cf le cas rabattu du header Location ) et de voir
comment ça ne vous dérange pas de la violer dans d'autres circonstances.
Ce genre de protection est du même niveau que de cacher la signature du
serveur web, du serveur mail ou de PHP, facilement contournable mais
faisant parti des pré-requis.
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer ne
sont pas forcément les mêmes.
Ce genre de protection est du même niveau que de cacher la signature du
serveur web, du serveur mail ou de PHP, facilement contournable mais
faisant parti des pré-requis.
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer ne
sont pas forcément les mêmes.
Ce genre de protection est du même niveau que de cacher la signature du
serveur web, du serveur mail ou de PHP, facilement contournable mais
faisant parti des pré-requis.
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Ca ne veut bien sûr pas dire qu'il ne faut pas
filtrer les données fournies par GET, mais que les filtes à appliquer ne
sont pas forcément les mêmes.
Faire de la vraie sécurité, oui, pas de la mystification comme il est
proposé.
La soumission d'un formulaire via POST est plus compliquée à faire à
l'insu de l'utilisateur que l'utilisation d'un web bug,
Si, via une faille, on peut ajouter n'importe quoi dans un document HTML,
et qu'on peut ajouter un web bug, on peut alors aussi ajouter un
formulaire et du javascript. Donc même faille, même attaque, même
niveau de complexité.
Faire de la vraie sécurité, oui, pas de la mystification comme il est
proposé.
La soumission d'un formulaire via POST est plus compliquée à faire à
l'insu de l'utilisateur que l'utilisation d'un web bug,
Si, via une faille, on peut ajouter n'importe quoi dans un document HTML,
et qu'on peut ajouter un web bug, on peut alors aussi ajouter un
formulaire et du javascript. Donc même faille, même attaque, même
niveau de complexité.
Faire de la vraie sécurité, oui, pas de la mystification comme il est
proposé.
La soumission d'un formulaire via POST est plus compliquée à faire à
l'insu de l'utilisateur que l'utilisation d'un web bug,
Si, via une faille, on peut ajouter n'importe quoi dans un document HTML,
et qu'on peut ajouter un web bug, on peut alors aussi ajouter un
formulaire et du javascript. Donc même faille, même attaque, même
niveau de complexité.
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
Bien sûr que si. *Toutes* les données venant de l'extérieur doivent
subir le même filtrage. Et si on est très rigoureux on incluera dans
l'extérieur, le SGBDR, et même l'OS.
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Vous nous citez le passage du protocole HTTP qui dit que les données d'un
POST sont non sûres (ainsi que la définition de ce qu'on entend par sûr
dans ce contexte) ? Par opposition à celle d'un GET qui le seraient
j'imagine ?
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
Bien sûr que si. *Toutes* les données venant de l'extérieur doivent
subir le même filtrage. Et si on est très rigoureux on incluera dans
l'extérieur, le SGBDR, et même l'OS.
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Vous nous citez le passage du protocole HTTP qui dit que les données d'un
POST sont non sûres (ainsi que la définition de ce qu'on entend par sûr
dans ce contexte) ? Par opposition à celle d'un GET qui le seraient
j'imagine ?
En faisant la distinction entre les requêtes POST et GET, on sait déjà
que les variables ne doivent pas subir le même type de traitement, les
Bien sûr que si. *Toutes* les données venant de l'extérieur doivent
subir le même filtrage. Et si on est très rigoureux on incluera dans
l'extérieur, le SGBDR, et même l'OS.
données fournies par POST étant par définition ( cf protocole HTTP ) des
données non sûres.
Vous nous citez le passage du protocole HTTP qui dit que les données d'un
POST sont non sûres (ainsi que la définition de ce qu'on entend par sûr
dans ce contexte) ? Par opposition à celle d'un GET qui le seraient
j'imagine ?
Pourquoi se fatiguer à utiliser $_REQUEST, $_GET ou $_POST d'ailleurs
quand on peut mettre en register_global à on ?
C'est une excellente question à laquelle j'ai une réponse toute prête et
d'ailleurs le gars qui a écrit PHP aussi :
Le 1er octobre 2002 je disais ceci :
http://groups.google.com/group/fr.comp.lang.php/msg/13e64e15d2d8f24e
Et j'avais déjà dû sortir le même couplet sur fciwap, mais je n'ai pas
retrouvé en recherche rapide. En gros : register_globals en Off, c'est
de la connerie.
Vous montrer là une bien mauvaise connaissance des CSRF. L'envoi des
données et bel et bien valide et les droits de la personne aussi ( id,
de session, cookie etc ... ) puisque la requête est envoyée par la
bonne personne avec les bons droits et c'est le but de la méthode.
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
<CITE>
POST requests can also be forged, so do not consider a strict use of
$_POST to be sufficient protection.
</CITE>
Jamais dit le contraire.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Toutes les méthodes de protection sur le web sont contournables en
moins de 3 secondes,
Un id_session aléatoire de 40 chars de long non stocké dans un cookie ça
se pirate en 3 secondes ? Va falloir qu'on se fasse du soucis.
Je suppose que vous n'en êtes quand même plus à coder vos formulaires
à partir de zéro à chaque fois mais que vous avez des libs qui vous
permettent des les générer et d'en valider les entrées.
Mauvaise supposition, changer de supposition. Quand on arrive chez un
client sur une appli web qui tourne depuis 5 ans, on commence pas par
dire "les mecs, vot' truc c'est de la merde, il vous faut *mes* libs".
Cette boutade est rafraîchissante de naïveté, on croirait entendre un
stagiaire au cours de sa première semaine en entreprise.
Il va de soit
en effet qu'à chaque fois que j'arrive sur un projet, je commence par
faire la liste des autres prestataires et que le soir du premier jour je
dis à mon client "tous ceux là c'est des cons faut les virer". Et quand
en face de mes équipes j'ai un grand compte qui peut acheter ma boite ou
celle de mon client au petit déjeuner, je lui répond "tes équipes c'est
des brêles, change les moi". Réveil !!
Qu'est-ce que ce que je (entre autres) dis de header(Location) vient à
faire avec le respect du protocole ? Je m'engage à vous envoyer une
bouteille de champagne si vous arrivez à trouver dans un article écrit
par moi depuis que je fréquente les newsgroups (c'est à dire fin 1996)
où j'ai fait une quelconque allusion au "respect du protocole http" ou à
une RFC quelconque pour justifier un point technique (1)
des specs du protocole http (dont un certain nombre sont encore marquées
"experimental" depuis 1997...) d'ailleurs je ne les ai jamais lues et
c'est pas demain la veille que je les lirai.
Pourquoi se fatiguer à utiliser $_REQUEST, $_GET ou $_POST d'ailleurs
quand on peut mettre en register_global à on ?
C'est une excellente question à laquelle j'ai une réponse toute prête et
d'ailleurs le gars qui a écrit PHP aussi :
Le 1er octobre 2002 je disais ceci :
http://groups.google.com/group/fr.comp.lang.php/msg/13e64e15d2d8f24e
Et j'avais déjà dû sortir le même couplet sur fciwap, mais je n'ai pas
retrouvé en recherche rapide. En gros : register_globals en Off, c'est
de la connerie.
Vous montrer là une bien mauvaise connaissance des CSRF. L'envoi des
données et bel et bien valide et les droits de la personne aussi ( id,
de session, cookie etc ... ) puisque la requête est envoyée par la
bonne personne avec les bons droits et c'est le but de la méthode.
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
<CITE>
POST requests can also be forged, so do not consider a strict use of
$_POST to be sufficient protection.
</CITE>
Jamais dit le contraire.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Toutes les méthodes de protection sur le web sont contournables en
moins de 3 secondes,
Un id_session aléatoire de 40 chars de long non stocké dans un cookie ça
se pirate en 3 secondes ? Va falloir qu'on se fasse du soucis.
Je suppose que vous n'en êtes quand même plus à coder vos formulaires
à partir de zéro à chaque fois mais que vous avez des libs qui vous
permettent des les générer et d'en valider les entrées.
Mauvaise supposition, changer de supposition. Quand on arrive chez un
client sur une appli web qui tourne depuis 5 ans, on commence pas par
dire "les mecs, vot' truc c'est de la merde, il vous faut *mes* libs".
Cette boutade est rafraîchissante de naïveté, on croirait entendre un
stagiaire au cours de sa première semaine en entreprise.
Il va de soit
en effet qu'à chaque fois que j'arrive sur un projet, je commence par
faire la liste des autres prestataires et que le soir du premier jour je
dis à mon client "tous ceux là c'est des cons faut les virer". Et quand
en face de mes équipes j'ai un grand compte qui peut acheter ma boite ou
celle de mon client au petit déjeuner, je lui répond "tes équipes c'est
des brêles, change les moi". Réveil !!
Qu'est-ce que ce que je (entre autres) dis de header(Location) vient à
faire avec le respect du protocole ? Je m'engage à vous envoyer une
bouteille de champagne si vous arrivez à trouver dans un article écrit
par moi depuis que je fréquente les newsgroups (c'est à dire fin 1996)
où j'ai fait une quelconque allusion au "respect du protocole http" ou à
une RFC quelconque pour justifier un point technique (1)
des specs du protocole http (dont un certain nombre sont encore marquées
"experimental" depuis 1997...) d'ailleurs je ne les ai jamais lues et
c'est pas demain la veille que je les lirai.
Pourquoi se fatiguer à utiliser $_REQUEST, $_GET ou $_POST d'ailleurs
quand on peut mettre en register_global à on ?
C'est une excellente question à laquelle j'ai une réponse toute prête et
d'ailleurs le gars qui a écrit PHP aussi :
Le 1er octobre 2002 je disais ceci :
http://groups.google.com/group/fr.comp.lang.php/msg/13e64e15d2d8f24e
Et j'avais déjà dû sortir le même couplet sur fciwap, mais je n'ai pas
retrouvé en recherche rapide. En gros : register_globals en Off, c'est
de la connerie.
Vous montrer là une bien mauvaise connaissance des CSRF. L'envoi des
données et bel et bien valide et les droits de la personne aussi ( id,
de session, cookie etc ... ) puisque la requête est envoyée par la
bonne personne avec les bons droits et c'est le but de la méthode.
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
<CITE>
POST requests can also be forged, so do not consider a strict use of
$_POST to be sufficient protection.
</CITE>
Jamais dit le contraire.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Toutes les méthodes de protection sur le web sont contournables en
moins de 3 secondes,
Un id_session aléatoire de 40 chars de long non stocké dans un cookie ça
se pirate en 3 secondes ? Va falloir qu'on se fasse du soucis.
Je suppose que vous n'en êtes quand même plus à coder vos formulaires
à partir de zéro à chaque fois mais que vous avez des libs qui vous
permettent des les générer et d'en valider les entrées.
Mauvaise supposition, changer de supposition. Quand on arrive chez un
client sur une appli web qui tourne depuis 5 ans, on commence pas par
dire "les mecs, vot' truc c'est de la merde, il vous faut *mes* libs".
Cette boutade est rafraîchissante de naïveté, on croirait entendre un
stagiaire au cours de sa première semaine en entreprise.
Il va de soit
en effet qu'à chaque fois que j'arrive sur un projet, je commence par
faire la liste des autres prestataires et que le soir du premier jour je
dis à mon client "tous ceux là c'est des cons faut les virer". Et quand
en face de mes équipes j'ai un grand compte qui peut acheter ma boite ou
celle de mon client au petit déjeuner, je lui répond "tes équipes c'est
des brêles, change les moi". Réveil !!
Qu'est-ce que ce que je (entre autres) dis de header(Location) vient à
faire avec le respect du protocole ? Je m'engage à vous envoyer une
bouteille de champagne si vous arrivez à trouver dans un article écrit
par moi depuis que je fréquente les newsgroups (c'est à dire fin 1996)
où j'ai fait une quelconque allusion au "respect du protocole http" ou à
une RFC quelconque pour justifier un point technique (1)
des specs du protocole http (dont un certain nombre sont encore marquées
"experimental" depuis 1997...) d'ailleurs je ne les ai jamais lues et
c'est pas demain la veille que je les lirai.
Si on applique la règle :
- les données fournies en GET sont des données pour récupérer un
document ou une information
- les données fournies en POST sont des données qui sont envoyées au
serveur pour traitement et enregistrement
( cf protocole HTTP, c'est pas moi qui l'ai inventé )
Pour GET on se soucie juste d'un traitement qui s'assure de la
conformité des données avec ce que l'on attend, pas besoin de faire de
traitements spécifiques à l'enregistrement des informations.
Un exemple:
Pour les paramètres fournis par GET, on peut se permettre de faire un
strip_tags ou bien un mb_convert_encoding, pour les mêmes paramètres
fournis en POST, il faudrait filtrer les tags autorisés,
Si on applique la règle :
- les données fournies en GET sont des données pour récupérer un
document ou une information
- les données fournies en POST sont des données qui sont envoyées au
serveur pour traitement et enregistrement
( cf protocole HTTP, c'est pas moi qui l'ai inventé )
Pour GET on se soucie juste d'un traitement qui s'assure de la
conformité des données avec ce que l'on attend, pas besoin de faire de
traitements spécifiques à l'enregistrement des informations.
Un exemple:
Pour les paramètres fournis par GET, on peut se permettre de faire un
strip_tags ou bien un mb_convert_encoding, pour les mêmes paramètres
fournis en POST, il faudrait filtrer les tags autorisés,
Si on applique la règle :
- les données fournies en GET sont des données pour récupérer un
document ou une information
- les données fournies en POST sont des données qui sont envoyées au
serveur pour traitement et enregistrement
( cf protocole HTTP, c'est pas moi qui l'ai inventé )
Pour GET on se soucie juste d'un traitement qui s'assure de la
conformité des données avec ce que l'on attend, pas besoin de faire de
traitements spécifiques à l'enregistrement des informations.
Un exemple:
Pour les paramètres fournis par GET, on peut se permettre de faire un
strip_tags ou bien un mb_convert_encoding, pour les mêmes paramètres
fournis en POST, il faudrait filtrer les tags autorisés,
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Vous nous citez le texte de la RFC qui dit que faire un formulaire en GET
est une violation du protocole HTTP, histoire qu'on rigole ?
(Indice: à quoi sert l'attribut method ?)
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Vous nous citez le texte de la RFC qui dit que faire un formulaire en GET
est une violation du protocole HTTP, histoire qu'on rigole ?
(Indice: à quoi sert l'attribut method ?)
Utiliser GET pour envoyer un formulaire ou pour faire autre chose que de
demander un document est une violation du protocole HTTP.
Vous nous citez le texte de la RFC qui dit que faire un formulaire en GET
est une violation du protocole HTTP, histoire qu'on rigole ?
(Indice: à quoi sert l'attribut method ?)
Vous citez là un post ou vous montrez une bien belle supériorité sur les
gens qui n'ont pas votre culture informatique, il n'y a vraiment pas de
quoi être fier.
Mais pas la peine de ranimer ce débat qui a été tranché par l'équipe de
dev de PHP.
Et pourquoi ça ? Une connerie change de statut au cours du temps ou elle
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
Sauf que le token est régénéré à chaque demande du formulaire, il n'est
donc pas possible d'utiliser un CSRF qui fatalement n'aura pas le même
token.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
Et bien, je suppose que les développeurs précédents en avaient, c'est
quand même pas bien compliqué que de modifier celles-ci.
Allez-y, continuez à nous monter votre ignorance de la vraie vie. Allez
On a toujours le choix de refuser un contrat lorsque les conditions de
travail ne conviennent pas à moins d'être un crève la faim qui ferait
tout pour quelques centimes d'euro.
Parfait ! Allez-y en attaques personnelles, ça va arranger votre cas.
mais ne me dites pas que depuis le temps
que vous exercez vous ne pouvez pas vous permettre de refuser un contrat
dont les conditions sont à la limite de l'amateurisme.
Ce n'est pas parce que vous avez affaire à un grand compte que celui-ci
n'a pas pu faire des erreurs dans ses choix,
Pas moi qui dirait le contraire, mais une fois que les contrats sont
les décideurs sont rarement
les plus compétents pour prendre des décisions techniques.
Oui bien sûr, ce n'est pas affirmer de manière aussi claire, mais quand
on dit que header("Location:" ) n'est pas fait pour tel type
d'utilisation, on se repose implicitement sur une spécification.
Ca, on avait bien remarqué que vous vous en foutiez. Mais dire que vous
ne les avez jamais lues et dire que certaines sont marquées
expérimentales dans la même phrase dénote d'une bien mauvaise foie.
Récemment j'avais besoin de citer dans un doc de référence le numéro de
C'est quand même pratique les normes et les protocoles pour s'entendre
lorsque l'on travaille avec d'autres personnes.
Vous citez là un post ou vous montrez une bien belle supériorité sur les
gens qui n'ont pas votre culture informatique, il n'y a vraiment pas de
quoi être fier.
Mais pas la peine de ranimer ce débat qui a été tranché par l'équipe de
dev de PHP.
Et pourquoi ça ? Une connerie change de statut au cours du temps ou elle
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
Sauf que le token est régénéré à chaque demande du formulaire, il n'est
donc pas possible d'utiliser un CSRF qui fatalement n'aura pas le même
token.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
Et bien, je suppose que les développeurs précédents en avaient, c'est
quand même pas bien compliqué que de modifier celles-ci.
Allez-y, continuez à nous monter votre ignorance de la vraie vie. Allez
On a toujours le choix de refuser un contrat lorsque les conditions de
travail ne conviennent pas à moins d'être un crève la faim qui ferait
tout pour quelques centimes d'euro.
Parfait ! Allez-y en attaques personnelles, ça va arranger votre cas.
mais ne me dites pas que depuis le temps
que vous exercez vous ne pouvez pas vous permettre de refuser un contrat
dont les conditions sont à la limite de l'amateurisme.
Ce n'est pas parce que vous avez affaire à un grand compte que celui-ci
n'a pas pu faire des erreurs dans ses choix,
Pas moi qui dirait le contraire, mais une fois que les contrats sont
les décideurs sont rarement
les plus compétents pour prendre des décisions techniques.
Oui bien sûr, ce n'est pas affirmer de manière aussi claire, mais quand
on dit que header("Location:" ) n'est pas fait pour tel type
d'utilisation, on se repose implicitement sur une spécification.
Ca, on avait bien remarqué que vous vous en foutiez. Mais dire que vous
ne les avez jamais lues et dire que certaines sont marquées
expérimentales dans la même phrase dénote d'une bien mauvaise foie.
Récemment j'avais besoin de citer dans un doc de référence le numéro de
C'est quand même pratique les normes et les protocoles pour s'entendre
lorsque l'on travaille avec d'autres personnes.
Vous citez là un post ou vous montrez une bien belle supériorité sur les
gens qui n'ont pas votre culture informatique, il n'y a vraiment pas de
quoi être fier.
Mais pas la peine de ranimer ce débat qui a été tranché par l'équipe de
dev de PHP.
Et pourquoi ça ? Une connerie change de statut au cours du temps ou elle
Alors dans ce cas, ce n'est pas de rajouter un token qui changera quoi
que ce soit car s'il est transmis en get/post, l'id_session ou le token,
même combat. Le problème est plutôt que l'ajout de l'id_session est
automatique.
Sauf que le token est régénéré à chaque demande du formulaire, il n'est
donc pas possible d'utiliser un CSRF qui fatalement n'aura pas le même
token.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
Et bien, je suppose que les développeurs précédents en avaient, c'est
quand même pas bien compliqué que de modifier celles-ci.
Allez-y, continuez à nous monter votre ignorance de la vraie vie. Allez
On a toujours le choix de refuser un contrat lorsque les conditions de
travail ne conviennent pas à moins d'être un crève la faim qui ferait
tout pour quelques centimes d'euro.
Parfait ! Allez-y en attaques personnelles, ça va arranger votre cas.
mais ne me dites pas que depuis le temps
que vous exercez vous ne pouvez pas vous permettre de refuser un contrat
dont les conditions sont à la limite de l'amateurisme.
Ce n'est pas parce que vous avez affaire à un grand compte que celui-ci
n'a pas pu faire des erreurs dans ses choix,
Pas moi qui dirait le contraire, mais une fois que les contrats sont
les décideurs sont rarement
les plus compétents pour prendre des décisions techniques.
Oui bien sûr, ce n'est pas affirmer de manière aussi claire, mais quand
on dit que header("Location:" ) n'est pas fait pour tel type
d'utilisation, on se repose implicitement sur une spécification.
Ca, on avait bien remarqué que vous vous en foutiez. Mais dire que vous
ne les avez jamais lues et dire que certaines sont marquées
expérimentales dans la même phrase dénote d'une bien mauvaise foie.
Récemment j'avais besoin de citer dans un doc de référence le numéro de
C'est quand même pratique les normes et les protocoles pour s'entendre
lorsque l'on travaille avec d'autres personnes.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
ça ne sera pas suffisant et qu'il faudra une méthode autre qui elle,
sera suffisante ?
2) Vous sous-entendez (ou affirmez carrément) qu'on peut (pire, qu'on
doit) traiter avec plus de confiance des données sous prétexte de leur
méthode de transmission. C'est *dangereux* (la pratique comme
l'affirmation).
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
tue à vous répéter : il n'y a aucune différence entre l'id_session que
j'emploie et le token suggéré. Si on arrive à me piquer l'un, on
arrivera à me piquer l'autre.
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
remarques :
1) si l'attaquant réussit à me piquer mon id_session, de toutes façons,
c'est game over, kaput, finita la banana.
2) s'il réussit à me piquer mon id_session dans un champ HIDDEN ou dans
une url type A HREF, je serais curieux de savoir ce qui l'empêcherait de
me piquer mon token supplémentaire. Si on veut avoir des id_sessions
jetables (valables une fois) c'est lourd, mais on peut.
S'il fallait que tout le monde ait lu toutes les RFCs nécessaires à
faire du http avant d'écrire une ligne de html, "the world would be a
better place" , mais ce n'est pas le cas.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
ça ne sera pas suffisant et qu'il faudra une méthode autre qui elle,
sera suffisante ?
2) Vous sous-entendez (ou affirmez carrément) qu'on peut (pire, qu'on
doit) traiter avec plus de confiance des données sous prétexte de leur
méthode de transmission. C'est *dangereux* (la pratique comme
l'affirmation).
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
tue à vous répéter : il n'y a aucune différence entre l'id_session que
j'emploie et le token suggéré. Si on arrive à me piquer l'un, on
arrivera à me piquer l'autre.
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
remarques :
1) si l'attaquant réussit à me piquer mon id_session, de toutes façons,
c'est game over, kaput, finita la banana.
2) s'il réussit à me piquer mon id_session dans un champ HIDDEN ou dans
une url type A HREF, je serais curieux de savoir ce qui l'empêcherait de
me piquer mon token supplémentaire. Si on veut avoir des id_sessions
jetables (valables une fois) c'est lourd, mais on peut.
S'il fallait que tout le monde ait lu toutes les RFCs nécessaires à
faire du http avant d'écrire une ligne de html, "the world would be a
better place" , mais ce n'est pas le cas.
Alors en quoi est-ce que vérifier que la requête http est bien du POST
est ***suffisant*** pour se protéger de ce type d'attaque ?
Vous pouvez citer le passage ou j'affirme que c'est suffisant.
1) donc comment pouvez vous continuer à dire qu'il faut le faire vu que
ça ne sera pas suffisant et qu'il faudra une méthode autre qui elle,
sera suffisante ?
2) Vous sous-entendez (ou affirmez carrément) qu'on peut (pire, qu'on
doit) traiter avec plus de confiance des données sous prétexte de leur
méthode de transmission. C'est *dangereux* (la pratique comme
l'affirmation).
Il faut bien que vous le mettiez quelque part votre id des session,
Oui: dans un champ HIDDEN exactement comme le token, c'est ce que je me
tue à vous répéter : il n'y a aucune différence entre l'id_session que
j'emploie et le token suggéré. Si on arrive à me piquer l'un, on
arrivera à me piquer l'autre.
l'URL je suppose, d'une part ça pose autant de problèmes que les cookies
de manière générale et d'autre part c'est autant vulnérable qu'un cookie
mais je ne vais pas vous faire l'affront de vous rappeler la littérature
sur le sujet.
Si, si, moi je suis preneur de ressources, ça m'intéresse, mais deux
remarques :
1) si l'attaquant réussit à me piquer mon id_session, de toutes façons,
c'est game over, kaput, finita la banana.
2) s'il réussit à me piquer mon id_session dans un champ HIDDEN ou dans
une url type A HREF, je serais curieux de savoir ce qui l'empêcherait de
me piquer mon token supplémentaire. Si on veut avoir des id_sessions
jetables (valables une fois) c'est lourd, mais on peut.
S'il fallait que tout le monde ait lu toutes les RFCs nécessaires à
faire du http avant d'écrire une ligne de html, "the world would be a
better place" , mais ce n'est pas le cas.