Risk -- Database Access Protocol (RDAP)



Documents pareils
CREATION WEB DYNAMIQUE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Application web de gestion de comptes en banques

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Mysql. Les requêtes préparées Prepared statements

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

LES ACCES ODBC AVEC LE SYSTEME SAS

PHP 5. La base de données MySql. A. Belaïd 1

PHP 4 PARTIE : BASE DE DONNEES

Olivier Mondet

Bases de données relationnelles

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Information sur l accés sécurisé aux services Baer Online Monaco

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Pratique et administration des systèmes

Bases de Données relationnelles et leurs systèmes de Gestion

Configurer la supervision pour une base MS SQL Server Viadéis Services

Les bases de données

Mini-projet systèmes & réseau serveur de «tchatche»

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Introduction à JDBC. Accès aux bases de données en Java

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

OpenPaaS Le réseau social d'entreprise

PHP. PHP et bases de données

Push API Technical Specifications V1.0

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

STATISTICA Version 12 : Instructions d'installation

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Devoir Data WareHouse

Manuel d installation

SQL Historique

I. MySQL : Serveur et SGBD

ftp & sftp : transférer des fichiers

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

PROJET 1 : BASE DE DONNÉES REPARTIES

SQL Server et Active Directory

Symphony. Procédures d installation : Mise à jour vers une version plus récente

BTS/CGO P10 SYSTEME INFORMATION Année

Chapitre 10. Architectures des systèmes de gestion de bases de données

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Cours: Administration d'une Base de Données

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Guide de configuration

Notes de cours : bases de données distribuées et repliquées

Test de HSQLDB et Comparatif avec Sqlite

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Département Génie Informatique

Création et Gestion des tables

Mysql avec EasyPhp. 1 er mars 2006

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Service d'authentification LDAP et SSO avec CAS

Mobyt Intégration HTTP TABLE DES MATIERES

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

PHP et les Bases de données - Généralités

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Guide SQL Server 2008 pour HYSAS

1/ Présentation de SQL Server :

eps Network Services Alarmes IHM

Les bases de données Page 1 / 8

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Attaques applicatives

FTP & SMTP. Deux applications fondamentales pour le réseau Internet.

Couche application. La couche application est la plus élevée du modèle de référence.

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Vulnérabilités et sécurisation des applications Web

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Compétences Business Objects

Les Utilisateurs dans SharePoint

Java DataBaseConnectivity

Gestion de stock pour un magasin

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Installation d'un serveur FTP géré par une base de données MySQL

Rokia Missaoui - UQO. INF4163 Hiver 2008

ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE

Accès aux bases de données

A QUOI SERVENT LES BASES DE DONNÉES?

Kit ODBC 100. Version Référence

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Installation de SCCM 2012 (v2)

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

SQL Parser XML Xquery : Approche de détection des injections SQL

Gestion des bases de données

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Installation SQL Server 2005 Express sur le serveur

Objectifs du TP : Initiation à Access

Installation et configuration du CWAS dans une architecture à 2 pare-feux

Le Langage De Description De Données(LDD)

Manuel d intégration API SOAP SMS ALLMYSMS.COM

API SMS HTTP REST. Intégrer facilement le service Envoyer SMS Pro avec votre application métier. Version : Révision : 03/09/2014 Page 1/31

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Installation FollowMe Q server

Modélisation et Gestion des bases de données avec mysql workbench

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Transcription:

Risk -- Database Access Protocol (RDAP) 1 Généralités Le Risk -- Database Access Protocol (RDAP) permet à un client de se connecter à une base de données Sybase. RDAP est prévu pour être utilisé avec une connexion TCP. Le serveur RDAP écoute sur le port 7778. Quand un client établit une connexion sur ce port, le serveur envoie un message initial de bienvenue. Après avoir reçu ce message de bienvenue, le client commence à envoyer des commandes au serveur et le serveur envoie des réponses au client. 2 États et commandes Une connexion RDAP est dans un des états ci-dessous et illustrés dans la Figure 1, à savoir : 1. Identification 2. Server_connected 3. Player_connected 4. Server_SQL 5. Server_storage 6. Player_SQL Sur la Figure 1 sont également montrées les commandes qui peuvent être exécutées dans un certain état et les transitions d'état résultantes. C'est une erreur de protocole pour le client d'essayer d'exécuter une commande pendant que la connexion est dans un état inapproprié. Le jeu de commandes se décompose en 4 groupes : 1. LOGIN : login, qui peut être de type SERVER ou de type PLAYER 2. QUIT : déconnexion 3. SCORE : enregistrement du résultat d'une partie dans la base de données [SERVER uniquement] 4. SQL : formulation d'une requête SQL, qui peut être de type SERVER ou de type PLAYER Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-1/6

(1) (9) 1. Identification (2) (3) 3. Player_connected 2. Server_connected (5) (6) (8) (4) (4) (7) 6. Player_SQL 4. Server_SQL 5. Server_storage (1) [connexion port 7778] (2) L PLAYER (3) L SERVER gl_00 (4) X (5) [toute commande SQL correcte de type SELECT] (6) [toute commande SQL correcte] (7) S [game_name number_of_players] (8) [( player : score) (player : score)] (9) Q Figure 1 : Etats d'une connexion RDAP Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-2/6

3 Description des commandes Chaque ligne de commande doit obligatoirement se terminer par le caractère de retour suivi du caractère de fin de ligne. L'ensemble des réponses du serveur se termine aussi par cette combinaison de caractères. Une réponse du serveur commence toujours par le caractère '+' ou le caractère'-' (dans le cas d'une erreur). 3.1 Commandes LOGIN C: L (SERVER PLAYER) [password] Remarques : - Un mot de passe (password) n'est requis que si le client précise un login de type SERVER. - err représente un entier fixant le type d'erreur. - error_msg correspond à un message d'erreur sous forme textuelle. 3.2 Commandes QUIT C: Q Remarque : Cette commande ne peut pas être exécutée dans les états 4, 5 et 6. 3.3 Commandes SCORE C: S game_name nb_players (on passe alors dans l'état 5) C: "("player : score")" { "("player : score")"} + : n SCORES SAVED! À la fin de cette commande, le client retourne automatiquement dans l'état précédent (état 2). Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-3/6

Remarques : - Cette commande n'est disponible que dans l'état 2, c.-à-d. lors d'un login de type SERVER. - Concernant la structure de game_name et de player, veuillez vous référer à la remarque générale en fin de chapitre (cf. point 3.5). - nb_players doit être compris entre 2 et 4. - n correspond au nombre de scores enregistrés dans la base de données. 3.4 Commandes SQL C: X S: -ERR -err : error_msg C: sql S: +result Remarques : - Cette commande peut être exécutée seulement dans les états 4 et 6. Cependant, seules des requêtes de sélection sont possibles dans l'état 6. - La requête SQL (sql) peut être formulée sur plusieurs lignes et doit se terminer par un "." seul sur une ligne. Exemples : C: SELECT * FROM scores C: WHERE (scores.game = 'Game1') C: INSERT scores (game, player, score) C: VALUES ('thewar', 'john', 190) C: DELETE FROM scores WHERE game = 'thewar' - result possède la structure suivante : 1. Requêtes de sélection : { "("field_1 : field_2 : : field_n")"} + 2. Autres : OK Exemple : S: + ("2000-03-15 13:11:00.0" : thewar : Toto : 245) ("2000-03-15 13:11:00.0" : thewar : slider : 185) ou - A la fin de cette commande, le client retourne automatiquement dans l'état précédent (état 4 ou 6). Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-4/6

3.5 Remarque générale Les attributs de type game_name et player peuvent contenir des espaces. Dans ce cas, ils doivent être nécessairement délimités par des guillemets. Si l'attribut contient le caractère '"', ce dernier devra être précédé par le caractère '\'. De plus, si l'attribut contient le caractère '\', il devra lui-même être précédé par ce même caractère. Exemples : Toto => Toto T oto => "T oto" T"oto => T\"oto T\oto => T\\oto T\o"t o => "T\\o\"t o" 4 Types d'erreur (err) et messages d'erreur (error_msg) LOGIN 100 INVALID STRUCTURE! 200 ILLEGAL COMMAND! 10 PASSWORD INCORRECT! SCORE 100 INVALID STRUCTURE! 200 ILLEGAL COMMAND! 20 INVALID PLAYERS NUMBER! 30 INVALID GAME NAME! 40 SCORES NOT SAVED! SQL 100 INVALID STRUCTURE! 200 ILLEGAL COMMAND! 50 SQL ERROR! 60 SQL NOT ALLOWED! OTHERS 300 UNRECOGNIZED COMMAND! Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-5/6

5 Structure de la base de données Table 'scores' - Champs : date : SMALLDATETIME (défaut : GETDATE()) game : VARCHAR (50) player : VARCHAR (50) score : INT - Clé primaire : <game ; player> Projet d Informatique de IIème année RISK-- Protocole RDAP P.F. - 07.01.2003-6/6