Suite

MapCanvas().refresh() ne fonctionne-t-il pas dans QGIS 2.6 ?


Avant d'utiliser la fonction

qgis.utils.iface.mapCanvas().refresh()

pour recharger le canevas de la carte après, par exemple, qu'une couleur de couche a été modifiée à partir d'un plugin. Mais cela ne fonctionne pas avec QGIS 2.6 pour moi. Dois-je utiliser une autre fonction pour actualiser le canevas de la carte ou s'agit-il d'un bug ?


Cela peut très bien être un bug car je ne parviens pas non plus à actualiser le canevas. Vous pouvez essayer ce qui suit comme solution de contournement :

myLayer.triggerRepaint()

Pour rafraîchir toutes les couches, la fonction suivante peut être utilisée :

def refresh_layers(self) : pour la couche dans qgis.utils.iface.mapCanvas().layers() : layer.triggerRepaint()

Avec la mise en cache du canevas dans le mix (livre de recettes python, note à la fin de la section "Modification des couches vectorielles"), je dois faire ce qui suit pour obtenir une actualisation fiable après une modification (dans mon cas à partir du code du plugin dans QGIS 2.14) :

cachingEnabled = self.iface.mapCanvas().isCachingEnabled() pour la couche dans self.iface.mapCanvas().layers() : si cachingEnabled : layer.setCacheImage(None) layer.triggerRepaint() self.iface.mapCanvas(). rafraîchir()

C'est-à-dire que j'appelle toujourstriggerRepaint()sur toutes les couches, puis appelez le mapCanvasrafraîchir()Juste pour être sûr. Si la mise en cache est activée, je réinitialise également l'image de cache de chaque couche avant de déclencher la peinture de cette couche. Je ne sais pas si tout cela est nécessaire, mais je sais que cela semble fonctionner de manière cohérente. L'API avertit que les deuxQgsMapLayer.setCacheImage()etQgsMapLayer.clearCacheImage()sont obsolètes, mais rien dans la documentation ou le code ne mentionne quelle alternative est prévue.


Remarque : je vois toujours un bug d'actualisation. Si j'ouvre la console python avant la modification de la première couche d'un plugin (au moins dans le projet en cours), peu importe ce que fait le plugin, la carte ne sera pas actualisée. Si, à la place, j'attends au moins d'ouvrir la console après la première modification, tout semble aller pour le mieux. Juste quelque chose à savoir si vous essayez de faire fonctionner les actualisations.


Angular2 : l'autofocus ne fonctionne pas sur la vue 'refresh' (angulaire)

Je construis un QuizTool/LMS de nature similaire à Duolingo (SPA-ish).

tldr : Appuyez sur plnkr, « Vérifier les réponses », « En faire un autre », et remarquez que le premier élément d'entrée n'a plus le focus d'entrée - même si la propriété « autofocus » semble être correctement définie. Puis-je résoudre ce problème ?

version longue: Lorsque je rends un quiz pour la première fois, je peux définir le focus d'entrée (à l'aide d'une propriété de mise au point automatique liée) dans la première zone de saisie à l'écran (un TEXTAREA où l'utilisateur répondra à la première question) - afin que l'utilisateur puisse simplement commencer taper loin. Excellent.

Cependant, une fois que l'utilisateur a soumis cette première série de questions (le premier quiz), l'utilisateur peut choisir de "Faire un autre quiz" - I/Angular peut redessiner un nouveau quiz/UI (avec, pour l'instant, que se passe-t-il pour être exactement les mêmes questions), seul l'attribut 'autofocus' ne semble pas fonctionner - c'est-à-dire que la première zone de saisie/texte n'obtient pas le focus.

Il semble cependant que l'attribut de mise au point automatique lié soit défini.

Ce qui signifie soit: 1) je lis l'attribut de manière incorrecte d'une manière ou d'une autre 2) c'est un bogue dans Chrome (Version 56.0.2924.87 (64 bits) sur Mac OSX) 3) quelque chose obtient/vole la mise au point après que la mise au point automatique de ce champ est correctement ensemble 4) etc.

J'ai configuré les variables locales 'firstQuestion' et 'lastQuestion' dans la boucle ngFor pour aider à prouver que la propriété autofocus est définie de manière déterministe (changez simplement [autofocus]="firstQuestion" en [autofocus]="lastQuestion" ).

Je suis ouvert à la résolution de ce problème, mais j'en ai besoin. L'ensemble "pas de contrôleur" est assez nouveau pour moi, il est donc très possible que je fasse quelque chose de stupide avec toute cette configuration.

J'ai essayé d'utiliser Angular Forms/ngForm mais cela ne semble pas faire de différence.

Je serais également curieux de savoir où je pourrais trouver un didacticiel de base sur les transitions/contrôleurs Angular2 - c'est-à-dire comment redessiner un écran, ou passer à une nouvelle vue, etc. - sans ce qui pourrait être considéré comme un contrôleur « traditionnel ». Je pense qu'avec VB vous avez dit quelque chose comme :

Si rien de tout cela ne fonctionne, je veux définir le focus manuellement/jqLite/pre-HTML5/whatever -- je n'ai pas encore eu beaucoup de succès là-bas non plus -- donc cette question.

Je ne sais pas à quel point c'est utile, mais il semble que mon application - qui a été configurée avec l'outil ng cli - soit très différente de ce que plunkr produit.

j'ai pu découvrir que :

    même si le 'document.activeElement' était défini sur la zone de texte correcte (selon l'interrogation du DOM), il se peut qu'il ne soit toujours pas activé pour que l'utilisateur commence à saisir du texte (j'ai défini un bg rouge pour le rendre très visuel), et

la page external/hosting index.html, illustrée ci-dessous, obtenait le focus une fois le chargement de mon composant terminé. J'ai ajouté une fonction hack javascript pour repousser manuellement le focus sur l'élément souhaité, mais c'était vraiment juste pour tester.

Fixé. Merci encore à @mickdev.

Ceci est une petite torsion sur la première solution. Je le décrirais comme "l'utilisation d'une variable de référence de modèle avec la méthode de cycle de vie ngAfterViewChecked() sur le composant que vous rendez".


Hfrhyu

J'ai trouvé ce scinque dans mon seau de plants de tomates. Est-il piégé ? Ou pourrait-il partir s'il le voulait ?

Le vol a décollé de la porte 5 min avant l'heure de départ prévue. Options de remboursement

Comment demander aux candidats à temps plein rejetés de postuler pour enseigner des cours individuels ?

Justification de la description de l'aplatissement comme « point culminant » ?

Dualité Tannaka pour les groupes semi-simples

Y a-t-il un accès public au Meteor Crater en Arizona ?

Pourquoi les processeurs x86 discrets n'ont-ils jamais été utilisés dans le matériel de jeu ?

Comment appelleriez-vous cet étrange appareil métallique qui permet de soulever des personnes ?

Pourquoi les tubes à vide sont-ils encore utilisés dans les radios amateurs ?

Qu'est-ce que le processus « studentd » ?

Défaillance du train avant d'un avion monopropulseur : atterrissage sur le ventre ou atterrissage avant ?

PIB avec production intermédiaire

Où se trouve l'entrée Taille de sauvegarde suivante sur iOS 12 ?

Que veut dire Turing par cette affirmation ?

Pourquoi des trains d'atterrissage complexes sont-ils utilisés au lieu de fils musculaires simples, fiables et légers ou d'alliages à mémoire de forme ?

Conseils pour organiser des présentations LaTeX pour un semestre

Est-il dangereux d'installer des outils de piratage sur ma machine Linux privée ?

Comment les images ont-elles été transformées du film en une grande image dans un cadre photo avant la numérisation numérique ?

Un terme pour une femme se plaignant de choses/mendier d'une manière mignonne/enfantine

Forcer l'annulation de QgsTask dans le plugin QGIS ?

Unicorn Meta Zoo #1 : Pourquoi un autre podcast ?Annuler la tâche en cours d'exécution en arrière-plan avec PyQGis ?Comment écrire un plugin de recherche d'adresse ?Comment stocker un mot de passe pendant une session de travail QGIS ?Comment importer correctement python sklearn dans le plugin QGIS PyQt ? python - Menu du plugin Composer catch-22Ouvrez les fichiers de projet QGIS en mode exclusif / alerte si le fichier de projet est déjà utiliséST_Contains. Vérifier le vrai/faux dans le curseur PythonComment gérer les variables de projet créées par l'utilisateur avec l'API qgis ?

Je veux forcer la fermeture du projet Qgis (QgsTask) à un moment donné

QgsProject.instance().clear() # NE FONCTIONNE PAS

QgsTaskManager().cancelAll() # NE FONCTIONNE PAS

QgsTask.cancel() # NE FONCTIONNE PAS

Existe-t-il un moyen de forcer la fermeture d'un projet ou d'une tâche ou de changer l'indicateur QgsTask.CanCancel en True ?

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Ajouter un exemple d'objet de tâche de création

Je veux forcer la fermeture du projet Qgis (QgsTask) à un moment donné

QgsProject.instance().clear() # NE FONCTIONNE PAS

QgsTaskManager().cancelAll() # NE FONCTIONNE PAS

QgsTask.cancel() # NE FONCTIONNE PAS

Existe-t-il un moyen de forcer la fermeture d'un projet ou d'une tâche ou de changer l'indicateur QgsTask.CanCancel en True ?

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Ajouter un exemple d'objet de tâche de création

Je veux forcer la fermeture du projet Qgis (QgsTask) à un moment donné

QgsProject.instance().clear() # NE FONCTIONNE PAS

QgsTaskManager().cancelAll() # NE FONCTIONNE PAS

QgsTask.cancel() # NE FONCTIONNE PAS

Existe-t-il un moyen de forcer la fermeture d'un projet ou d'une tâche ou de changer l'indicateur QgsTask.CanCancel en True ?

Je veux forcer la fermeture du projet Qgis (QgsTask) à un moment donné

QgsProject.instance().clear() # NE FONCTIONNE PAS

QgsTaskManager().cancelAll() # NE FONCTIONNE PAS

QgsTask.cancel() # NE FONCTIONNE PAS

Existe-t-il un moyen de forcer la fermeture d'un projet ou d'une tâche ou de changer l'indicateur QgsTask.CanCancel en True ?

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Ajouter un exemple d'objet de tâche de création

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Ajouter un exemple d'objet de tâche de création

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

c'est aussi ma question (sans réponse). Je sépare le problème, simplifie un peu, car j'ai fait des progrès @FranRaga

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

lorsque vous avez créé la tâche, avez-vous mis le drapeau canCancel ?

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Non :/ Je viens d'ouvrir le projet : Project -> open. @FranRaga

Ajouter un exemple d'objet de tâche de création

Ajouter un exemple d'objet de tâche de création


3 réponses 3

Si je comprends votre question, vous pouvez utiliser le compositeur comme vous le souhaitez. Lorsque vous avez terminé un composer, cliquez sur la carte et, dans les propriétés de l'objet, cochez simplement "verrouiller les couches pour cette carte". Il ne devrait plus être mis à jour, même si vous masquez ou affichez des calques. Salutations. Vincent

Pour les grands projets avec un grand nombre de compositeurs, il est préférable d'utiliser des préréglages de calque et l'option "Suivre le préréglage de visibilité" dans le compositeur.

En effet, lorsque vous utilisez "verrouiller les calques" et "verrouiller les styles de calque", tous les calques ainsi que leurs styles et propriétés sont enregistrés. Lorsqu'il le fait pour chaque compositeur, il peut rapidement augmenter la taille du fichier QGIS. Cela peut rendre l'ouverture d'un projet extrêmement longue, entraîner de nombreux problèmes de performances et corrompre inévitablement votre fichier QGIS. Suivre un préréglage de visibilité fait simplement référence au style du calque plutôt que de le dupliquer.


MapCanvas().refresh() ne fonctionne-t-il pas dans QGIS 2.6 ? - Systèmes d'information géographique

Le site Web est un site Web généré statiquement à l'aide de Sphinx (http://sphinx-doc.org/), basé sur des sources de texte restructurées (rst : http://docutils.sourceforge.net/rst.html) et des modèles html (jinja2).

La plupart des sources sont dans source/site. Seules la page d'accueil et les pages de destination sont dans theme/qgis-theme

Le style est dans theme/qgis-theme. Ce thème est utilisé pour les constructions de sites Web et de documentation. La version du site Web est la version canonique.

Création du site web avec Docker

TLDR : cd QGIS-Site Web && ./docker-run.sh html

Remarque : vous utiliserez une image docker QGIS de hub.docker.com, créée avec le fichier docker de :

Sous Linux : utilisez votre gestionnaire de paquets.

Sous Windows : installez boot2docker depuis : http://boot2docker.io/ Quelques remarques : vous avez besoin des droits d'administrateur pour le faire : le script d'installation générera quelques clés, acceptez simplement toutes les valeurs par défaut. Si cela ne fonctionne pas la première fois, vérifiez si vous devez « activer la virtualisation » dans votre BIOS (par exemple, Lenovo la désactive par défaut).

Démarrez une boîte de commande (sous Windows : double-cliquez sur l'icône boot2docker sur le bureau, vous obtiendrez un terminal) :

Vérifiez que Docker/Boot2docker fonctionne en tapant :

Si tout se passe bien, il téléchargera une petite image Docker et vous obtiendrez une sortie comme celle-ci :

Nous allons maintenant créer un répertoire de travail et extraire les sources de github, soit votre propre fork, soit le référentiel QGIS d'origine comme ici :

Nous allons maintenant utiliser ce répertoire QGIS-Website comme répertoire source et de sortie pour la «machine virtuelle» Docker qui construira le site. Nous allons démarrer ce conteneur Docker avec une ligne de commande comme ci-dessous :

Où "docker run -t -i qgis/sphinx_html_3 make html" signifie : "exécuter un conteneur/processus Docker basé sur l'image qgis/sphinx_html_3 disponible en ligne, appelez make dans le répertoire de travail du conteneur, avec le paramètre 'html', ce qui signifie : ne construisez que du html anglais"

"-v /home/richard/dev/QGIS-Website:/QGIS-Website" signifie : utiliser le répertoire "/home/richard/dev/QGIS-Website" comme répertoire virtuel dans le conteneur et nommez-le '/QGIS- Site Internet'

"-w=/QGIS-Website" signifie qu'il doit être utilisé comme répertoire de travail de Docker

"--rm=true" signifie supprimer le conteneur après la construction

Maintenant, les lignes de commande réelles :

Sous Linux (utilisez votre propre chemin de dépôt ici !):

Sous Windows (testé sur Win7 et Win8), utilisez votre propre chemin de dépôt ici !

IMPORTANT vous avez besoin de 2x un double // dans la commande . Sans cela, vous obtiendrez un message d'erreur concernant un mauvais répertoire de travail :

Remarque : uniquement la première fois, il extraira l'image qgis/sphinx_html_3 (>300Mb) du référentiel en ligne https://hub.docker.com/u/qgis/

Maintenant, si vous souhaitez créer un site Web traduit, il reste encore du travail à faire. Nous devons extraire les traductions de transifex, etc. Vous avez besoin de vos propres informations d'identification transifex pour le faire. Obtenez donc d'abord un compte/mot de passe sur www.transifex.com, puis créez un fichier '.transifexrc' qui est utilisé pour vous autoriser à transifex. Le contenu de ce fichier devrait ressembler à ceci :

Copiez ce fichier à la racine de votre dépôt. Avec moi, c'est /home/richard/dev/QGIS-Website. MAINTENANT, vous pouvez l'exécuter en utilisant 'make full' et un paramètre LANG comme celui-ci :

En plus de cela, vous pouvez également consulter les scripts docker-run.sh et docker-world.sh qui sont utilisés sur nos propres serveurs Web.

Création du site web avec Make

La construction n'est testée que sur les systèmes Linux utilisant make, sur Windows, nous avons maintenant commencé une configuration Paver (voir ci-dessous)

Pour pouvoir exécuter des cibles de localisation, vous aurez besoin de Sphinx 1.2 fourni avec pip. Sphinx fourni avec la plupart des distributions n'est que 1.1.3. Vous obtiendrez une erreur gettext avec ceux-ci.

Le mieux est d'exécuter le fichier make dans un environnement virtuel ( http://www.virtualenv.org/ ):

/myvirtualenvs/) et créez un répertoire compatible virtualenv :

Et activez ce virtualenv

Maintenant, activez toujours votre environnement avant de construire. Pour désactiver, vous pouvez faire :

Vous pouvez installer tous les outils via le fichier REQUIREMENTS.txt ici à la racine de ce référentiel :

Sinon, faites-le un par un :

Installez sphinx 1.2 maintenant dans votre environnement virtuel :

Si vous souhaitez ajouter les documents QGIS-Documentation dans la construction, vous devez soit copier manuellement les sources, les ressources et les fichiers po dans le projet de site Web. Ou utilisez la cible fullhtml de make (qui extraira la branche 2.0) :

Pour rassembler de nouvelles chaînes dans un fichier pot (.po) pour votre langue et les fusionner avec les traductions existantes dans les fichiers po (normalement à exécuter par votre responsable de la langue) :

Pour ajouter une nouvelle langue (les scripts auront besoin d'une structure de répertoires) :

Voir le site en action : http://www.qgis.org

Création du site web avec Paver

Paver est un outil Make-like basé sur Python (http://paver.github.io/paver/)

Paver peut être utilisé sur Linux et Windows (quelqu'un peut tester sur OSX ?)

Deux scripts sont disponibles :

  • bootstrap.py (pour configurer les éléments liés à python)
  • trottoir.py (le fichier de configuration pour Paver)

Pour pouvoir créer des versions localisées du site Web avec le finisseur, le « client Transifex (tx) » est nécessaire.

Pour rendre tx.exe utilisable dans le script du finisseur, placez-le DANS ce répertoire à côté du fichier trottoir.py, OU ajoutez-le à votre PATH

IMPORTANT : pour pouvoir extraire de transifex.com, vous aurez besoin d'un fichier d'identifiants. Ce fichier doit être nommé : .transifexrc et le plus simple est de le mettre dans votre répertoire personnel C:/users/you. Une autre option est de le mettre à la racine de ce projet, mais attention à ne pas mettre vos identifiants dans Github :-)

Le fichier doit contenir ceci :

Avec un tx fonctionnel et un .transifexrc, vous devriez pouvoir construire par exemple la version allemande de la doc via : :

Pendant la construction, vous verrez cette commande : :

Cela extraira tous les fichiers po allemands de transifex (basé sur le fichier .tx/config à la racine de ce projet)


MapCanvas().refresh() ne fonctionne-t-il pas dans QGIS 2.6 ? - Systèmes d'information géographique

Étend le cadre de traitement aux modèles de systèmes de gestion des eaux pluviales.

Ce plugin vous permet de modéliser le réseau hydraulique pour l'eau et d'exécuter des simulations pour obtenir des informations sur le débit d'eau et plus encore.

Vous devez avoir swmm comme outil de ligne de commande pour que le plugin fonctionne.

Ouvrez le fichier swmm5.c, commentez la ligne

Ouvrez le fichier Makefile et remplacez la ligne (ligne 12)

et supprimez la barre oblique inverse mal placée de la dernière ligne de la définition objs (ligne 8)

Mettez simplement ce répertoire dans le répertoire du plugin. Sous linux :

Vous devez ensuite exécuter QGIS, installer le plug-in de traitement et configurer le chemin d'accès à l'exécutable swmm dans le menu QGIS Traitement -> Options et configuration.

Un exemple simple est fourni pour tester le plugin. Vous avez besoin d'un serveur postgres/postgis fonctionnel pour utiliser l'exemple.

Créez d'abord une base de données de test, à partir du répertoire racine d'installation, exécutez :

Ouvrez QGIS, cliquez sur "Ajouter une couche Postgis", configurez une nouvelle connexion à la base de données swmm_test et connectez-vous. Cochez 'Liste également les tables sans géométrie' et sélectionnez les couches suivantes dans le schéma public (les couches avec géométrie sont dupliquées dans la liste, assurez-vous de sélectionner l'entrée avec une géométrie) :

  • conduits (geom)
  • les contrôles
  • courbes
  • évaporation
  • afflux
  • jonctions (geom
  • options
  • émissaires (geom)
  • pompes (geom)
  • rapport
  • stockage (géom)
  • des séries chronologiques
  • xsections

Ouvrez la boîte à outils de traitement et double-cliquez sur l'icône Swmm. -> Simulation -> Simuler.

Si vous exécutez un nouveau buid à partir du maître QGIS, le nom des paramètres est déjà défini (reconnu à partir des noms de couche). Si vous exécutez une ancienne version de QGIS, vous devez définir le paramètre suivant :

  • Options d'analyse -> options
  • Instruction de rapport de sortie -> rapport
  • Données d'évaporation -> évaporation
  • Informations sur les nœuds de jonction -> jonctions
  • Informations sur les nœuds d'exutoire -> exutoires
  • Informations sur le nœud de stockage -> stockage
  • Informations sur le lien de conduit -> conduits
  • Informations sur le lien de pompe -> pompes
  • Géométrie de la section des conduits, des orifices et des déversoirs -> xsections
  • Règles qui contrôlent le fonctionnement de la pompe et du régulateur -> contrôles
  • Hydrogramme/pollutographe externe affluent aux nœuds -> afflux
  • références de données tabulaires x-y dans d'autres sections -> courbes
  • Données de séries temporelles référencées dans d'autres sections -> timeseries

Cliquez ensuite sur Exécuter. Trois couches de résultats devraient apparaître dans le projet une fois la simulation terminée.

Ce plugin a été développé par Oslandia ( http://www.oslandia.com ).

Oslandia fournit un support et une assistance pour QGIS et les outils associés, y compris ce plugin.

Ce travail a été financé par des fonds européens. Remerciements au Bureau SIG d'Apavil, Comté de Valcea (Roumanie)

Ce travail est un logiciel libre et sous licence GNU GPL version 2 ou toute version ultérieure. Voir fichier LICENCE.


Vous n'avez pas besoin de redémarrer. Toute modification apportée au fichier hosts est immédiate. Auparavant, vous deviez redémarrer pour que les modifications prennent effet dans Windows 9x. Ce n'est plus le cas.

Cependant, vous devrez peut-être redémarrer toutes les applications qui effectuent une mise en cache interne du nom d'hôte ou DNS, telles que les navigateurs Web.

As-tu essayé ipconfig /flushdns ? Je n'ai pas trouvé le besoin de redémarrer, cependant.

Juste un avertissement, NSLOOKUP récupérera toujours les résultats du serveur DNS ne regardera jamais le fichier hosts Pour vérifier si votre nouveau nom fonctionne, essayez la commande ping.

IE met en cache les entrées DNS. Vous devez démarrer une nouvelle instance IE afin de voir les modifications du fichier hôte.

ipconfig /flushdns videra le cache DNS local.
nbtstat -R videra le cache netbios. <----- Devrait être avec majuscule "R"

Vous voudrez peut-être vous assurer qu'il n'y a pas de connexions actuelles à l'hôte pour lequel la résolution de nom que vous avez ajoutée en utilisant netstat -a ou quelque chose comme tcpview .

À moins que vous n'ayez configuré le suffixe DNS pour ajouter les noms de domaine à la fin de l'hôte, vous pouvez généralement savoir s'il s'agit de netbios en utilisant un seul nom pour la résolution. Il est courant que les réseaux d'entreprise suffixent les domaines et ajoutent des ordres de recherche pour faciliter la résolution locale des hôtes sur le réseau.

J'ai remarqué que certaines des applications que j'utilise mettent également en cache certaines de ces réponses et je dois m'assurer qu'elles sont complètement fermées avant que la résolution ne fonctionne correctement. Firefox et IE aiment parfois s'exécuter en arrière-plan, même s'ils n'ont pas de fenêtres actives, mais c'est peut-être plus ma faute que les applications.


Je ne suis pas très clair sur les détails, mais généralement, lorsqu'un site Web compte les vues, il compte les visites uniques. Dans le cas de Twitch, il va de soi qu'il peut placer des cookies sur les systèmes des utilisateurs pour suivre leur point de vue unique.

Je suppose que votre propre compte ne le fait pas augmenter, vu pour autant que je sache quand je regarde ma propre chaîne pendant que je suis en direct, je ne compte pas comme téléspectateur, à moins que je ne lui laisse pas le temps pour mettre à jour le nombre de téléspectateurs.

Cela compte comme une session, croyez-le ou non. Ouvrez plusieurs navigateurs et testez-le.


Ce schéma à deux jetons fonctionne-t-il ?

Noob de sécurité ici. J'ai essayé de comprendre comment sécuriser mon application Web à partir de CSRF et XSS. Il s'agit d'une application d'une seule page qui communique avec une API JSON côté serveur.

J'essaie de ne pas faire de schéma de déploiement, mais je n'ai pas eu beaucoup de chance d'en trouver un qui n'ait pas la complexité d'OAuth.

Lorsque l'utilisateur se connecte, le serveur renvoie deux jetons. Chaque jeton est un JWT.

Les jetons sont générés par paires. Ils partagent le premier nonce, mais le second doit être différent.

Le premier est renvoyé en JSON et doit être envoyé dans les futures demandes en tant que jeton du porteur.

Le second est renvoyé dans un cookie httponly.

Pour qu'une requête soit valide, elle doit voir les deux jetons, les signatures doivent être bonnes, le premier nonce doit correspondre et le second ne doit pas correspondre.

Je pense que ce schéma n'est pas vulnérable à CSRF, car un attaquant ne verra pas le jeton du porteur. Il ne sera pas vulnérable au XSS car un attaquant ne verra pas le jeton httponly. Un attaquant ne pourra pas deviner le jeton manquant à cause du deuxième nonce. Un attaquant ne pourra pas réutiliser les jetons à cause du premier nonce. Un attaquant ne pourra pas générer de jetons car ils sont signés.


1 réponse 1

La bonne nouvelle est que vous avez probablement été touché par un paramètre de filtre dans le pare-feu, et ils ne prendront probablement pas la peine de vérifier plus loin que de regarder quelques chiffres récapitulatifs dans le rapport de trafic mensuel.

mon employeur verra-t-il que j'ai accédé à ce site ?

Ils savent certainement à quel lien vous avez essayé d'accéder - tout ce qui apparaît dans votre barre d'adresse qui a https - donc si vous avez visité gmail, ils verraient que vous êtes resté sur https://www.google.com/intl/en/gmail/ /# pendant 5 minutes. Ils n'auront cependant pas son contenu, car le trafic est crypté.

Ils connaissent n'importe quelle page Web et son contenu sans cryptage (http://) s'ils reniflent des paquets. Ils connaissent l'adresse IP et MAC de votre appareil et les informations d'identification que vous avez utilisées pour vous connecter.

Selon la politique de votre entreprise, seules les informations d'identification peuvent vous indiquer. Si l'appareil que vous avez utilisé appartient à votre employeur, il sait que c'est vous.

Si le téléphone que vous avez utilisé est privé et que la méthode d'authentification de votre Wifi est un mot de passe global (quelque chose comme YourCompanyNameWifi/ some_global_pass), il est moins probable qu'il soit retracé jusqu'à vous, mais c'est toujours possible (plusieurs mots de passe peuvent être générés pour le ils pourraient le tracer par le point d'accès auquel vous étiez connecté car son emplacement est connu, etc.)

Et il y a toujours des métadonnées, par ex. si votre "ce gars" qui est fasciné par les tortues et ce que vous avez fait plus tôt était de rechercher sur Google des tortues mignonnes sur Google images, eh bien, ils supposeront que c'est vous.

Sauront-ils que ce lien n'était pas réellement porno ?

Pas vraiment. Ils peuvent utiliser des listes globales ou des listes personnalisées pour filtrer le trafic, et ils ciblent généralement les sites dans leur ensemble et ne se soucient pas de liens spécifiques vers ses ressources.

va signaler leur système ou les notifier d'une manière ou d'une autre même si le site n'est pas réellement porno ?

S'ils utilisent des listes globales, cela se mettra à jour automatiquement sans qu'ils s'en aperçoivent. S'il s'agit de leur propre filtre personnalisé, c'est probablement une bonne idée de les informer de l'erreur.

Ne soyez pas trop stressé à ce sujet, bien que je ne sois pas actuellement administrateur dans mon entreprise, je travaille en tant que programmeur et de nombreuses ressources et sites auxquels j'essaie d'accéder sont affectés par nos paramètres de filtrage Web (nous utilisons des solutions Fortinet).

Si vous devez accéder à un site donné et qu'il est bloqué, informez-en le service informatique, il saura quoi faire.


Voir la vidéo: Tutoriel QGIS - les bases (Octobre 2021).