À propos de la fenêtre CCF CSP
Attaque de script intersite XSS, contournant la même politique d'origine via de faux contenus et des appâts à clics. Il s’agit d’un gros problème, et si un attaquant réussit à injecter du code, une quantité considérable de données utilisateur peut être divulguée.
Description du problème
Dans un certain système d'exploitation graphique, il y a N fenêtres, chaque fenêtre est une zone rectangulaire dont les deux côtés sont parallèles à l'axe de coordonnées. . Les points situés au bord de la fenêtre appartiennent également à la fenêtre. Il existe des différences hiérarchiques entre les fenêtres. Dans une zone où plusieurs fenêtres se chevauchent, seul le contenu de la fenêtre de niveau supérieur sera affiché.
Lorsque vous cliquez sur un point de l'écran, vous sélectionnez la fenêtre de niveau supérieur à la position cliquée, et cette fenêtre sera déplacée au niveau supérieur de toutes les fenêtres, tandis que l'ordre hiérarchique des fenêtres restantes reste inchangé. Si l'emplacement sur lequel vous cliquez n'appartient à aucune fenêtre, le système ignorera votre clic.
Nous voulons maintenant que vous écriviez un programme pour simuler le processus de clic sur une fenêtre.Format de saisie
La première ligne de saisie contient deux entiers positifs, à savoir N et M. (1 ≤ N ≤ 10,1 ≤ M ≤ 10)
Les N lignes suivantes donnent les positions des N fenêtres dans l'ordre du bas vers le haut. Chaque ligne contient quatre entiers non négatifs x1, y1, x2, y2, indiquant une paire de coordonnées de sommet de la fenêtre (x1, y1) et (x2, y2). Il est garanti que x1 <
Chacune des M lignes suivantes contient deux entiers non négatifs x, y, représentant les coordonnées d'un clic de souris.
Les coordonnées x et y de tous les points et sommets du rectangle impliqué dans la question ne dépassent pas respectivement 2559 et 1439.Format de sortie
La sortie comprend M lignes, chaque ligne représente le résultat d'un clic de souris. Si une fenêtre est sélectionnée par ce clic de souris, le numéro de cette fenêtre est affiché (les fenêtres sont numérotées de 1 à N dans l'ordre d'entrée) ; sinon, "IGNORED" (sans guillemets doubles) est affiché.
Exemple d'entrée
3 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5Exemple de sortie
2
1
1
IGNORÉDescription de l'échantillon
La position cliqué pour la première fois appartient à la fois à la 1ère et à la 2ème fenêtre, mais comme la 2ème fenêtre est en haut, elle est sélectionnée et amenée en haut.
La position du deuxième clic n'appartient qu'à la première fenêtre, donc ce clic sélectionne cette fenêtre et l'amène en haut. La relation hiérarchique entre les trois fenêtres est désormais exactement à l’opposé de l’état initial.
La position cliquée pour la troisième fois appartient à la plage de trois fenêtres en même temps, mais comme la première fenêtre est désormais en haut, elle est sélectionnée.
Le dernier clic (0, 5) n'appartient à aucune fenêtre.
Analyse : Une question très simple, pas trop difficile, pour peu que la commande soit réglée.
#include <iostream> #include<vector> using namespace std; int main() { int N, M; cin >> N >> M; vector<int>win; vector<int>::iterator it; for (int i = N; i > 0; i--) { win.push_back(i); } int position[11][4]; int cli[13][2]; for (int i = 1; i <= N; i++) { for (int j = 0; j < 4; j++) { cin >> position[i][j]; } } for (int i = 0; i < M; i++) { for (int j = 0; j < 2; j++)//由于写这个的时候精神状态不是很好,原来写成j>2了。后来实在找不到哪里错了,只好把for循环重写了一遍。 { cin >> cli[i][j]; } } for (int i = 0; i < M; i++) { bool you = true; for (int j = 0; j < N; j++) { if (cli[i][0] >= position[win[j]][0] && cli[i][0] <= position[win[j]][2] && cli[i][1] >= position[win[j]][1] && cli[i][1] <= position[win[j]][3]) { cout << win[j] << endl; you = false; if (j != 0) { int a = win[j]; for (it = win.begin(); it != win.end();) { if (*it == a) { it = win.erase(it); // break; } //删除元素,返回值指向已删除元素的下一个位置 else { ++it; } //指向下一个位置 } win.insert(win.begin(), a); } break; } } if (you) { cout << "IGNORED" << endl; } } return 0; }
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

La production de pages H5 fait référence à la création de pages Web compatibles compatibles multiplateformes à l'aide de technologies telles que HTML5, CSS3 et JavaScript. Son cœur réside dans le code d'analyse du navigateur, la structure de rendu, le style et les fonctions interactives. Les technologies courantes incluent les effets d'animation, la conception réactive et l'interaction des données. Pour éviter les erreurs, les développeurs doivent être débogués; L'optimisation des performances et les meilleures pratiques incluent l'optimisation du format d'image, la réduction des demandes et les spécifications du code, etc. pour améliorer la vitesse de chargement et la qualité du code.

L'article traite de la gestion de la confidentialité de l'emplacement des utilisateurs et des autorisations à l'aide de l'API Geolocation, mettant l'accent sur les meilleures pratiques pour demander des autorisations, assurer la sécurité des données et se conformer aux lois sur la confidentialité.

Les étapes pour créer une icône H5 Click comprennent: la préparation d'une image source carrée dans le logiciel d'édition d'image. Ajoutez l'interactivité dans l'éditeur H5 et définissez l'événement Click. Créez un hotspot qui couvre l'icône entière. Définissez l'action des événements de clic, tels que le saut sur la page ou le déclenchement de l'animation. Exporter H5 documents sous forme de fichiers HTML, CSS et JavaScript. Déployez les fichiers exportés vers un site Web ou une autre plate-forme.

L'article explique comment utiliser l'API HTML5 Drag and Drop pour créer des interfaces utilisateur interactives, détaillant les étapes pour rendre les éléments dragables, gérer les événements clés et améliorer l'expérience utilisateur avec des commentaires personnalisés. Il discute également des pièges communs à un

H5 (HTML5) convient aux applications légères, telles que les pages de campagne de marketing, les pages d'affichage des produits et les micro-Websites de promotion d'entreprise. Ses avantages résident dans la plateformité multi-plateaux et une riche interactivité, mais ses limites résident dans des interactions et des animations complexes, un accès aux ressources locales et des capacités hors ligne.

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

<p> La fonction de page suivante peut être créée via HTML. Les étapes incluent: la création d'éléments de conteneur, la division du contenu, l'ajout de liens de navigation, la cachette d'autres pages et l'ajout de scripts. Cette fonctionnalité permet aux utilisateurs de parcourir du contenu segmenté, affichant une seule page à la fois et convient pour afficher de grandes quantités de données ou de contenu. </p>
