Securité asp.net

160 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
160
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Securité asp.net

  1. 1. Formation Dotnet Ahmed LABIDI ingénieur études et développement Dotnet SQL Server 1 Sommaire I. Sécurité ASP.Net ............................................................................................................................. 1 1. Les balises authentification et autorisation................................................................................... 1 2. L’autorisation à un fichier particulier............................................................................................ 2 3. La destruction des cookies............................................................................................................ 4 I. Sécurité ASP.Net 1. Les balises authentification et autorisation A la fin du fichier web.config <!--The <authentication> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user.--> <authentication mode="Forms"> <forms loginUrl="login.aspx" protection="All" path="/" name="users"> </forms> </authentication> <authorization> <deny users="?"/> </authorization> </system.web> </configuration> On doit remplacer “loginUrl="login.aspx" par la page login correspondante. <deny users="?"/> Ici nous somme entrain de bloquer tout le site. Le déblocage aura lieu lors de l’ouverture d’une nouvelle session soit par « tuer » les cookies (on va voir par la suite comment faire) Après avoir placé ce bous de code, si on essaye de forcer un lien dans la barre des adresses : Le système renvoie la page automatiquement à login.aspx comme suit :
  2. 2. Formation Dotnet Ahmed LABIDI ingénieur études et développement Dotnet SQL Server 2 2. L’autorisation à un fichier particulier Après le lancement de la page login, on remarque que le style de la page master page n’est pas appliqué. Comme suit :  Cela est dû du faite que le fichier style.css n’est pas autorisé à être exécuté (vu qu’on a utilisé «DENY » = «ne pas permettre » dans la balise autorisation)  Alors on doit spécifier un bout de code pour l’autorisation d’un dossier particulier
  3. 3. Formation Dotnet Ahmed LABIDI ingénieur études et développement Dotnet SQL Server 3 Dans ce cas, on remarque bien qu’on a utilisé <allow users="?"/>  C'est-à-dire permettre l’utilisateur à accéder au fichier style.css se trouvant dans le fichier img  L’attribut allowOverride="false : Ici on donne un ordre au système de ne pas remplacer le fichier img (pour des besoins de sécurités, le système remplace les fichiers par des fichiers vides afin de garantir la sécurité) Alors on va avoir le résultat suivant :
  4. 4. Formation Dotnet Ahmed LABIDI ingénieur études et développement Dotnet SQL Server 4 3. La destruction des cookies La sécurité touche aussi la redirection, c'est-à-dire que RESPONSE.REDIRECT (qui fait la redirection à une autre page) n’est plus fonctionnelle comme d’habitude. Cela est du que le système crées des cookies (des fichiers temporaires utilisées par le système) afin de sécuriser le site. L’idée consiste à détruire les cookies, juste avant la redirection vers la page suivante (par rapport à la page login). Ce travail n’est nécessaire que pour la page login  On doit tout d’abord importer la bibliothèque de sécurité spécifique au framework DotNet : using System.Web.Security;  Le code de la page Login.aspx .cs devient comme suit :
  5. 5. Formation Dotnet Ahmed LABIDI ingénieur études et développement Dotnet SQL Server 5 protected void Page_Load(object sender, EventArgs e) { this.lblerr.Visible = false; } protected void btn_Valider_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection(); cn = Class1.GetConnection(); String txtReq = "Select * from Etudiant where Login = '" + this.txtLogin.Text + "' " + " and pwd = '" + this.txtPwd.Text + " '"; DataTable dt; dt = Class1.Executer_Requete(txtReq, cn, "tb_Etu"); if (dt.Rows.Count == 0) { this.lblerr.Text = "Veuillez vérifier vos paramètres de connexion"; this.lblerr.Visible = true; } else { // iCi nous somme entrain de tuer les cookies avant de permettre la redirection FormsAuthentication.SetAuthCookie("",false); Response.Redirect("Frm_Etd_m.aspx"); } }

×