particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
S'il est plus expressif, cela veut-il dire qu'il existe des algorithmes
implémentables en lisp qui ne peuvent pas l'être avec Sed ?
Par Dieu, non. Par toi ou moi, oui.
particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
S'il est plus expressif, cela veut-il dire qu'il existe des algorithmes
implémentables en lisp qui ne peuvent pas l'être avec Sed ?
Par Dieu, non. Par toi ou moi, oui.
particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
S'il est plus expressif, cela veut-il dire qu'il existe des algorithmes
implémentables en lisp qui ne peuvent pas l'être avec Sed ?
Par Dieu, non. Par toi ou moi, oui.
Si appel au script sans identificateur de session == celui enregistré
dans la base de données => ouverture nouvelle session avec
identificateur numérique = qqchose genre: md5sum(microtime()), puis
appel de la fonction donnant le menu principal d'administration.
Je n'ai pas compris la première ligne : pourquoi donne-t-on un accès quand
on compare une donnée NON RECUE avec une donnée en base ? Le "sans" doit
être une faute de frappe.Si appel au script avec identificateur de session == l'un de ceux
enregistrés dans la base, alors exécution normale.
Ah bah non, c'était volontaire. Donc je n'ai pas compris la logique
d'attribution du token.
Merci de me donner votre avis sur le degré de sécurité,
particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
En étant bien conscient que ceci retirera des votes normaux, pour ce
besoin, l'IP est une solution acceptable. On pourrait avoir un système de
time out de quelques heures/jours pour la liste des "ip votantes".
Si appel au script sans identificateur de session == celui enregistré
dans la base de données => ouverture nouvelle session avec
identificateur numérique = qqchose genre: md5sum(microtime()), puis
appel de la fonction donnant le menu principal d'administration.
Je n'ai pas compris la première ligne : pourquoi donne-t-on un accès quand
on compare une donnée NON RECUE avec une donnée en base ? Le "sans" doit
être une faute de frappe.
Si appel au script avec identificateur de session == l'un de ceux
enregistrés dans la base, alors exécution normale.
Ah bah non, c'était volontaire. Donc je n'ai pas compris la logique
d'attribution du token.
Merci de me donner votre avis sur le degré de sécurité,
particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
En étant bien conscient que ceci retirera des votes normaux, pour ce
besoin, l'IP est une solution acceptable. On pourrait avoir un système de
time out de quelques heures/jours pour la liste des "ip votantes".
Si appel au script sans identificateur de session == celui enregistré
dans la base de données => ouverture nouvelle session avec
identificateur numérique = qqchose genre: md5sum(microtime()), puis
appel de la fonction donnant le menu principal d'administration.
Je n'ai pas compris la première ligne : pourquoi donne-t-on un accès quand
on compare une donnée NON RECUE avec une donnée en base ? Le "sans" doit
être une faute de frappe.Si appel au script avec identificateur de session == l'un de ceux
enregistrés dans la base, alors exécution normale.
Ah bah non, c'était volontaire. Donc je n'ai pas compris la logique
d'attribution du token.
Merci de me donner votre avis sur le degré de sécurité,
particulièrement pour l'unicité des sondages par prise en compte de
l'adresse IP.
En étant bien conscient que ceci retirera des votes normaux, pour ce
besoin, l'IP est une solution acceptable. On pourrait avoir un système de
time out de quelques heures/jours pour la liste des "ip votantes".
Re,Comme d'habitude, les fautes d'inattention dans la conception, c'est
mortel...
Ca arrive à tout le monde. Le plus compliqué, c'est de faire simple.
DansMesBras(tm) !-)
Re,
Comme d'habitude, les fautes d'inattention dans la conception, c'est
mortel...
Ca arrive à tout le monde. Le plus compliqué, c'est de faire simple.
DansMesBras(tm) !-)
Re,Comme d'habitude, les fautes d'inattention dans la conception, c'est
mortel...
Ca arrive à tout le monde. Le plus compliqué, c'est de faire simple.
DansMesBras(tm) !-)
Je vous prie de m'excuser de ma formulation un peu rapide.
Sans problèmes, le elcteur n'était peut-être pas très réveillé non plus...
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
Première possibilité: Au début du script, la session démarre, si
cette variable de session n'existe pas ou n'a pas une valeur existante
dans la base de données, c'est que c'est le premier appel à ce script:
Oui. Mais est-ce bien raisonnable d'ouvrir une session anonyme dans la
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
suivant les choix de l'administrateur, et la trasmission des données
saisies par l'administrateur. ( Quelles données pour quelles
fonctionnalités, etc.. )
Ca tombe bien, cf ci-dessus.
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
Je vous prie de m'excuser de ma formulation un peu rapide.
Sans problèmes, le elcteur n'était peut-être pas très réveillé non plus...
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
Première possibilité: Au début du script, la session démarre, si
cette variable de session n'existe pas ou n'a pas une valeur existante
dans la base de données, c'est que c'est le premier appel à ce script:
Oui. Mais est-ce bien raisonnable d'ouvrir une session anonyme dans la
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
suivant les choix de l'administrateur, et la trasmission des données
saisies par l'administrateur. ( Quelles données pour quelles
fonctionnalités, etc.. )
Ca tombe bien, cf ci-dessus.
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
Je vous prie de m'excuser de ma formulation un peu rapide.
Sans problèmes, le elcteur n'était peut-être pas très réveillé non plus...
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
Première possibilité: Au début du script, la session démarre, si
cette variable de session n'existe pas ou n'a pas une valeur existante
dans la base de données, c'est que c'est le premier appel à ce script:
Oui. Mais est-ce bien raisonnable d'ouvrir une session anonyme dans la
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
suivant les choix de l'administrateur, et la trasmission des données
saisies par l'administrateur. ( Quelles données pour quelles
fonctionnalités, etc.. )
Ca tombe bien, cf ci-dessus.
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
1) on ne donne pas de ressource, quelle qu'elle soit, à quiconque n'a pas
à accéder à cette page. Rien, nada, bernique.
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Mais de quel droit ?! Pourquoi aurait-on une quelconque velléité
d'exécuter du code sans savoir à qui on a affaire dans la partie ADMIN ?
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
La requête est légitime. Il est ici normal d'exécuter du code.et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Non, ça jamais. La requête peut donner lieu à exécution de code parce
qu'elle est légitime (le token d'identification est valide) mais les
données reçues du monde extérieur ne peuvent JAMAIS êter considérées comme
dignes de confiance, ne serait-ce qu'à cause des fautes de frappe : si je
tape 1 0 (espace en trop) dans une zone de quantité parce que, comme
d'hab, j'ai pas encore enlevé les moufles et le café est trop chaud, la
requête SQL va faire une drôle de gueule.
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
Euh... L'oeuf ou la poule ? Reprenons. Quand on appelle une
fonction/méthode il faut bien à un moment ou à un autre vérifier qu'on a
toutes nos billes pourle faire, et qu'il ne manque pas de données
obligatoires pour ce faire. Or ceci dépend de chaque traitement. Donc il
faut commencer par récupérer, d'une manière ou d'une autre, peu importe,
l'action à exécuter, et c'est elle la racine de l'arbre d'appel : selon
l'action à exécuter, on vérifie si on a bien toutes les informations
nécessaires pour le traitement (reçues directement, ou stockées ailleurs,
en session au sens large, en base, sur la lune, etc.).
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Oui, mais ça ce sera le cas de toutes façons : la majeure partie de la
population ne possède pas des IP fixes... Si je me connecte par wanamou le
matin puis l'après midi, je n'aurai pas la même IP. Et ne parlons pas des
utilisateurs derrière des proxys (le cas le plus connu est AOL) qui
changent d'IP à chaque requête (sur une page qui a 10 images, on peut voir
11 adresses IP différentes...)Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
plus, pas moins. Et encore, marchera pas pour les utilisateurs d'AOL.
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
1) on ne donne pas de ressource, quelle qu'elle soit, à quiconque n'a pas
à accéder à cette page. Rien, nada, bernique.
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Mais de quel droit ?! Pourquoi aurait-on une quelconque velléité
d'exécuter du code sans savoir à qui on a affaire dans la partie ADMIN ?
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
La requête est légitime. Il est ici normal d'exécuter du code.
et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Non, ça jamais. La requête peut donner lieu à exécution de code parce
qu'elle est légitime (le token d'identification est valide) mais les
données reçues du monde extérieur ne peuvent JAMAIS êter considérées comme
dignes de confiance, ne serait-ce qu'à cause des fautes de frappe : si je
tape 1 0 (espace en trop) dans une zone de quantité parce que, comme
d'hab, j'ai pas encore enlevé les moufles et le café est trop chaud, la
requête SQL va faire une drôle de gueule.
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
Euh... L'oeuf ou la poule ? Reprenons. Quand on appelle une
fonction/méthode il faut bien à un moment ou à un autre vérifier qu'on a
toutes nos billes pourle faire, et qu'il ne manque pas de données
obligatoires pour ce faire. Or ceci dépend de chaque traitement. Donc il
faut commencer par récupérer, d'une manière ou d'une autre, peu importe,
l'action à exécuter, et c'est elle la racine de l'arbre d'appel : selon
l'action à exécuter, on vérifie si on a bien toutes les informations
nécessaires pour le traitement (reçues directement, ou stockées ailleurs,
en session au sens large, en base, sur la lune, etc.).
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Oui, mais ça ce sera le cas de toutes façons : la majeure partie de la
population ne possède pas des IP fixes... Si je me connecte par wanamou le
matin puis l'après midi, je n'aurai pas la même IP. Et ne parlons pas des
utilisateurs derrière des proxys (le cas le plus connu est AOL) qui
changent d'IP à chaque requête (sur une page qui a 10 images, on peut voir
11 adresses IP différentes...)
Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
plus, pas moins. Et encore, marchera pas pour les utilisateurs d'AOL.
Le problème étant d'empêcher un intrus extérieur de lancer ce script
avec ce paramètre de branchement vers la fonction, ( donc avec un faux
paramètre, puisque non produit par le script lui-même ),
sorte de "suivre" les accès à ce script, par une session ( par user
évidemment, mais il n'y a théoriquement que l'administrateur qui a le
login/password d'accès ). Cette session comporte simplement une variable
de session numérique ou alphabétique complexe. Par exemple: la valeur
de microtime()
Oui mais non.
1) on ne donne pas de ressource, quelle qu'elle soit, à quiconque n'a pas
à accéder à cette page. Rien, nada, bernique.
Donc cette variable complexe de session est générée, mise dans la base
de données, et la fonction de branchement est la première, c'est-à-dire
celle du menu d'administration.
Mais de quel droit ?! Pourquoi aurait-on une quelconque velléité
d'exécuter du code sans savoir à qui on a affaire dans la partie ADMIN ?
Deuxième possibilité: Si au début du script, après le démarrage de la
session, la variable numérique ou alphabétique complexe existe et figure
dans la base de données, c'est que cet appel à ce script, provient bien
de ce même script,
La requête est légitime. Il est ici normal d'exécuter du code.et donc il est possible de faire confiance aux
données transmises en POST lors de cet appel,
Non, ça jamais. La requête peut donner lieu à exécution de code parce
qu'elle est légitime (le token d'identification est valide) mais les
données reçues du monde extérieur ne peuvent JAMAIS êter considérées comme
dignes de confiance, ne serait-ce qu'à cause des fautes de frappe : si je
tape 1 0 (espace en trop) dans une zone de quantité parce que, comme
d'hab, j'ai pas encore enlevé les moufles et le café est trop chaud, la
requête SQL va faire une drôle de gueule.
Dans ce cas, le traitement des données transmises en POST est
effectué dans le début du script ( enregistrement dans la base de
données par exemple ), puis éventuellement la variable gérant le
branchement aux fonctions, est modifiée en fonction des données
transmises en POST au script. En effet, ce n'est qu'au moment où on
prend connaissance des choix précédents de l'administrateur, que l'on
saura quelle prochaine fonction appeler.
Euh... L'oeuf ou la poule ? Reprenons. Quand on appelle une
fonction/méthode il faut bien à un moment ou à un autre vérifier qu'on a
toutes nos billes pourle faire, et qu'il ne manque pas de données
obligatoires pour ce faire. Or ceci dépend de chaque traitement. Donc il
faut commencer par récupérer, d'une manière ou d'une autre, peu importe,
l'action à exécuter, et c'est elle la racine de l'arbre d'appel : selon
l'action à exécuter, on vérifie si on a bien toutes les informations
nécessaires pour le traitement (reçues directement, ou stockées ailleurs,
en session au sens large, en base, sur la lune, etc.).
Mais si l'on mémorise les adresses IP ayant voté, avec disons un
timestamp, et que l'on efface les adresses IP après un délai, les mêmes
personne vont pouvoir revoter ?
Oui, mais ça ce sera le cas de toutes façons : la majeure partie de la
population ne possède pas des IP fixes... Si je me connecte par wanamou le
matin puis l'après midi, je n'aurai pas la même IP. Et ne parlons pas des
utilisateurs derrière des proxys (le cas le plus connu est AOL) qui
changent d'IP à chaque requête (sur une page qui a 10 images, on peut voir
11 adresses IP différentes...)Je ne vois pas quel intérêt présente ce dispositif.
Uniquement empêcher quelqu'un de s'exciter sur le bouton refresh. Pas
plus, pas moins. Et encore, marchera pas pour les utilisateurs d'AOL.
Oui.
Dans ce cas, peut-être faudrait-il simplement, en plus de l'adresse IP
obsolète, supprimer la variable de session ( des scripts publics ), de
la base de données, ce qui arrête l'authentification, avec
éventuellement backlistage de l'adresse IP correspondante, sans pour
autant modifier le message par défaut, pour ne pas alerter le visiteur
malhonnête.
Oui.
Dans ce cas, peut-être faudrait-il simplement, en plus de l'adresse IP
obsolète, supprimer la variable de session ( des scripts publics ), de
la base de données, ce qui arrête l'authentification, avec
éventuellement backlistage de l'adresse IP correspondante, sans pour
autant modifier le message par défaut, pour ne pas alerter le visiteur
malhonnête.
Oui.
Dans ce cas, peut-être faudrait-il simplement, en plus de l'adresse IP
obsolète, supprimer la variable de session ( des scripts publics ), de
la base de données, ce qui arrête l'authentification, avec
éventuellement backlistage de l'adresse IP correspondante, sans pour
autant modifier le message par défaut, pour ne pas alerter le visiteur
malhonnête.