Les f-strings sont au contraire plus sûres que .format() ! Comme on marque explicitement la chaîne à formater, elle ne peut pas être contrôlée par un attaquant. Ici, la faille de sécurité vient du fait que l'on appelle .format() sur une chaîne qui est en partie contrôlée par l'utilisateur.
On peut très bien remplacer la f-string par :
to_format="""Printing a {width}-character wide box:[Age: {{self.age:{width}}} ]""".format(width=self.width)
Oui, la difficulté est que width doit être à la fois un spécificateur de formatage valide et une chaîne valide à passer à str.format. La documentation du fonctionnement des chaînes de formatage listée dans la dépêche donne une piste.
Le but du défi, c'est de trouver le mot de passe depuis l'intérieur du programme. La réponse au défi est une valeur ou une suite de valeurs à donner au programme pour récupérer le mot de passe. Vous n'avez pas accès à la machine qui exécute le programme en dehors du programme lui-même.
L'outil Regex101 est intéressant, mais je pense qu'il n'a pas le même but et qu'il ne s'adresse pas au même public.
Le but principal de l'outil présenté dans ce journal est de chercher dans mots dans le dictionnaire.
Oui, parfaitement. On peut très bien créer un composant en svelte dans une page plus grande qui utilise un autre framework d'interface utilisateur, ou pas de framework du tout.
La solution la plus basique est juste de "monter" son application à l'intérieur d'un certain élément de la page cible:
Si l'on veut générer un composant réutilisable, on peut créer un "composant web" (custom element, ou web component): svelte a une API pour cela.
On pourra alors utiliser cet élément depuis un autre framework. Le support des composants web varie selon les frameworks, react étant un mauvais élève.
C'est une autre affaire qui n'a rien avoir. Le journal est à propos d'Igor Sysoev (le créateur de nginx), l'article que vous citez est à propos d'Ivan Golunov (journaliste injustement accusé de trafic de drogue).
Le problème des solutions existantes est qu'elles ne permettent pas de chercher en "temps réel" (au fur et à mesure de la phrase). Si on veut construire sa regexp en fonction des résultats, il faut à chaque fois la modifier, valider, attendre les résultats, et recommencer. Ce n'est pas pratique dans le cas où l'on n'est pas exactement sûr de ce que l'on cherche…
Voilà, c'est fait :) Il y a maintenant un paramètre dans l'URL pour la langue. On peut charger directement le dictionnaire français avec: https://regex-wordsearch.netlify.com/?lang=fr
C'est effectivement une fonctionnalité utile, et facile à implémenter. Je l'ai donc ajoutée :) Il y a maintenant un message qui s'affiche pour indiquer que le chargement est en cours.
Je n'ai pas été très clair… je voulais dire qu'il y a une animation qui ouvre puis referme le bouton après un certain temps, même si on garde la souris dessus. Cela évite que le bouton reste perpétuellement ouvert sur mobile.
J'aime personnellement beaucoup l'ambiance du tableau anonyme, et j'y passe moi-même beaucoup de temps à griffonner, parfois avec des inconnus. C'est une chouette expérience, et je ne voudrais pas la supprimer.
Par contre, il y aurait des optimisations à faire pour charger plus rapidement les gros tableaux.
Effectivement, les deux outils semblent très similaires. Mais le site de démonstration de draw ne semble pas fonctionner…
Je pense que la "killer feature" de WBO, ce sont les tableaux infinis. J'adore regarder évoluer le joyeux bazar du tableau blanc public.
Oui, ce serait possible, mais je pense que ce serait effectivement beaucoup de travail.
Pour l'instant, WBO, c'est 1737 lignes de code pour le client, et 441 (!) pour le serveur. Je suis le seul contributeur pour l'instant. Draw.io est un projet de bien plus grande envergure.
Bonjour! Non, il n'y a pas de mécanisme de sessions. Mais il n'y a pas non plus de liste des tableaux, donc le seul moyen de se connecter à un tableau que vous créez est de connaître son nom. Donc si vous générez un nom avec openssl rand -hex 32 par exemple, vous devriez être tranquille :)
Bonjour! Oui, je suis très preneur, en particulier concernant l'interface utilisateur. Ce n'est pas mon métier, et l'interface fait très "bricolée" pour l'instant.
[^] # Re: Erreur de syntaxe
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 2.
Les f-strings sont au contraire plus sûres que
.format()
! Comme on marque explicitement la chaîne à formater, elle ne peut pas être contrôlée par un attaquant. Ici, la faille de sécurité vient du fait que l'on appelle.format()
sur une chaîne qui est en partie contrôlée par l'utilisateur.On peut très bien remplacer la f-string par :
Et la faille de sécurité sera toujours présente.
[^] # Re: Indices
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 2.
Oui, la difficulté est que width doit être à la fois un spécificateur de formatage valide et une chaîne valide à passer à str.format. La documentation du fonctionnement des chaînes de formatage listée dans la dépêche donne une piste.
[^] # Re: Erreur de syntaxe
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 4.
Python 3.5 n'est plus supporté depuis 2017. Si vous n'avez pas de version récente de python sur votre ordinateur, vous pouvez exécuter le script en ligne sur https://repl.it/repls/SimultaneousLonelyTransformation
[^] # Re: Fonctionne pas
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 2.
Si vous n'avez pas de version récente de python sur votre ordinateur, vous pouvez faire tourner le script en ligne: https://repl.it/repls/SimultaneousLonelyTransformation
[^] # Re: Indices
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 2. Dernière modification le 14 janvier 2020 à 12:48.
Bravo ! Je ne pensais pas que quelqu'un trouverait si vite.
[^] # Re: Je sais !
Posté par lovasoa (site web personnel) . En réponse au journal Petit défi Python. Évalué à 1.
Le but du défi, c'est de trouver le mot de passe depuis l'intérieur du programme. La réponse au défi est une valeur ou une suite de valeurs à donner au programme pour récupérer le mot de passe. Vous n'avez pas accès à la machine qui exécute le programme en dehors du programme lui-même.
[^] # Re: Très marrant pour chercher des noms de domaine
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 1.
Merci. J'ai remplacé l'ancien dictionnaire par celui de grammalecte.
[^] # Re: Dans la même veine
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 1.
L'outil Regex101 est intéressant, mais je pense qu'il n'a pas le même but et qu'il ne s'adresse pas au même public.
Le but principal de l'outil présenté dans ce journal est de chercher dans mots dans le dictionnaire.
[^] # Re: Svelte
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 1.
Oui, parfaitement. On peut très bien créer un composant en svelte dans une page plus grande qui utilise un autre framework d'interface utilisateur, ou pas de framework du tout.
La solution la plus basique est juste de "monter" son application à l'intérieur d'un certain élément de la page cible:
Si l'on veut générer un composant réutilisable, on peut créer un "composant web" (custom element, ou web component): svelte a une API pour cela.
On pourra alors utiliser cet élément depuis un autre framework. Le support des composants web varie selon les frameworks, react étant un mauvais élève.
[^] # Re: Svelte
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 1.
Oui, C'est bien ça : svelte est un compilateur qui génère un code JavaScript qui lui-même n'a pas de dépendances.
[^] # Re: c'est bon c'est fini :)
Posté par lovasoa (site web personnel) . En réponse au journal Perquisition chez NGINX à Moscou, Igor Sysoev arrêté. Évalué à 9.
C'est une autre affaire qui n'a rien avoir. Le journal est à propos d'Igor Sysoev (le créateur de nginx), l'article que vous citez est à propos d'Ivan Golunov (journaliste injustement accusé de trafic de drogue).
[^] # Re: Svelte
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 8.
J'adore la simplicité de svelte. Une petite présentation de ce framework serait très intéressante; que pensez-vous d'écrire une dépêche collective ?
[^] # Re: Très marrant pour chercher des noms de domaine
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 1.
En attendant, j'ai corrigé ces deux erreurs.
[^] # Re: Très marrant pour chercher des noms de domaine
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 3.
Est-ce que l'un de vous connaît un bon dictionnaire français libre ?
[^] # Re: Outils similaire
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 2.
Le problème des solutions existantes est qu'elles ne permettent pas de chercher en "temps réel" (au fur et à mesure de la phrase). Si on veut construire sa regexp en fonction des résultats, il faut à chaque fois la modifier, valider, attendre les résultats, et recommencer. Ce n'est pas pratique dans le cas où l'on n'est pas exactement sûr de ce que l'on cherche…
[^] # Re: sympa
Posté par lovasoa (site web personnel) . En réponse au journal regex-wordsearch : Faire une recherche dans le dictionnaire par expression régulière. Évalué à 2.
Voilà, c'est fait :) Il y a maintenant un paramètre dans l'URL pour la langue. On peut charger directement le dictionnaire français avec: https://regex-wordsearch.netlify.com/?lang=fr
[^] # Re: Pas compris
Posté par lovasoa (site web personnel) . En réponse au journal Une nouvelle interface graphique pour WBO. Évalué à 3.
C'est effectivement une fonctionnalité utile, et facile à implémenter. Je l'ai donc ajoutée :) Il y a maintenant un message qui s'affiche pour indiquer que le chargement est en cours.
[^] # Re: Pas compris
Posté par lovasoa (site web personnel) . En réponse au journal Une nouvelle interface graphique pour WBO. Évalué à 2.
Je n'ai pas été très clair… je voulais dire qu'il y a une animation qui ouvre puis referme le bouton après un certain temps, même si on garde la souris dessus. Cela évite que le bouton reste perpétuellement ouvert sur mobile.
J'aime personnellement beaucoup l'ambiance du tableau anonyme, et j'y passe moi-même beaucoup de temps à griffonner, parfois avec des inconnus. C'est une chouette expérience, et je ne voudrais pas la supprimer.
Par contre, il y aurait des optimisations à faire pour charger plus rapidement les gros tableaux.
[^] # Re: Concurrents?
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.
Effectivement, les deux outils semblent très similaires. Mais le site de démonstration de draw ne semble pas fonctionner…
Je pense que la "killer feature" de WBO, ce sont les tableaux infinis. J'adore regarder évoluer le joyeux bazar du tableau blanc public.
[^] # Re: Intégration draw.io ou mxgraph
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.
Oui, ce serait possible, mais je pense que ce serait effectivement beaucoup de travail.
Pour l'instant, WBO, c'est 1737 lignes de code pour le client, et 441 (!) pour le serveur. Je suis le seul contributeur pour l'instant. Draw.io est un projet de bien plus grande envergure.
[^] # Re: fonctionnalité de déplacement d'entité ? Intégration dans tracim ?
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.
Oui ! Mais actuellement, on peut cacher le menu en cliquant sur le mot "menu"
[^] # Re: Framasoft
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.
Je serais très content de pouvoir en héberger une instance chez Framasoft. Est-ce que quelqu'un sait qui il faut contacter pour cela ?
[^] # Re: Gestion de session
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 5. Dernière modification le 29 novembre 2018 à 17:10.
Bonjour! Non, il n'y a pas de mécanisme de sessions. Mais il n'y a pas non plus de liste des tableaux, donc le seul moyen de se connecter à un tableau que vous créez est de connaître son nom. Donc si vous générez un nom avec
openssl rand -hex 32
par exemple, vous devriez être tranquille :)[^] # Re: fonctionnalité de déplacement d'entité ? Intégration dans tracim ?
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.
Bonjour! Oui, je suis très preneur, en particulier concernant l'interface utilisateur. Ce n'est pas mon métier, et l'interface fait très "bricolée" pour l'instant.
[^] # Re: anarchy in the wbo
Posté par lovasoa (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 1.
Oui, c'est vrai qu'une fonction de zoom serait bien pratique! Mais en attendant, on peut se servir du zoom du navigateur, avec Ctrl + molette.