SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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 :
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
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 :
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 :
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");
}
}

Contenu connexe

En vedette

Objetos tecnologicos vargas karol
Objetos tecnologicos vargas karolObjetos tecnologicos vargas karol
Objetos tecnologicos vargas karol
karito532
 
Recreo yanira muñoz
Recreo yanira muñozRecreo yanira muñoz
Recreo yanira muñoz
97132559
 
Slideshare
SlideshareSlideshare
Slideshare
21lcp
 
Derecho laboral asignacion uno
Derecho laboral asignacion unoDerecho laboral asignacion uno
Derecho laboral asignacion uno
Pedro Morales
 
Slender Blogger Blogspot
Slender  Blogger BlogspotSlender  Blogger Blogspot
Slender Blogger Blogspot
Dplay114
 
15 pacheco rodriguez
15 pacheco rodriguez15 pacheco rodriguez
15 pacheco rodriguez
shanned
 
Importanciadelasticenlaeducacion 140402130714-phpapp02
Importanciadelasticenlaeducacion 140402130714-phpapp02Importanciadelasticenlaeducacion 140402130714-phpapp02
Importanciadelasticenlaeducacion 140402130714-phpapp02
Freddy Oquendo Heredia
 
Reflexión sobre la planeacion
Reflexión sobre la planeacionReflexión sobre la planeacion
Reflexión sobre la planeacion
Ozzito De La Rosa
 

En vedette (20)

Objetos tecnologicos vargas karol
Objetos tecnologicos vargas karolObjetos tecnologicos vargas karol
Objetos tecnologicos vargas karol
 
Recreo yanira muñoz
Recreo yanira muñozRecreo yanira muñoz
Recreo yanira muñoz
 
Herramientas colaborativas
Herramientas colaborativasHerramientas colaborativas
Herramientas colaborativas
 
Slideshare
SlideshareSlideshare
Slideshare
 
Ecología y Land Art
Ecología y Land ArtEcología y Land Art
Ecología y Land Art
 
Retrouver les BU de Droit sur Internet - Licence en Droit
Retrouver les BU de Droit sur Internet - Licence en DroitRetrouver les BU de Droit sur Internet - Licence en Droit
Retrouver les BU de Droit sur Internet - Licence en Droit
 
Colegio nicolás esguerrra
Colegio nicolás esguerrraColegio nicolás esguerrra
Colegio nicolás esguerrra
 
Yessica
YessicaYessica
Yessica
 
Derecho laboral asignacion uno
Derecho laboral asignacion unoDerecho laboral asignacion uno
Derecho laboral asignacion uno
 
Slender Blogger Blogspot
Slender  Blogger BlogspotSlender  Blogger Blogspot
Slender Blogger Blogspot
 
Curriculum vitea 2015 mon c.v
Curriculum vitea 2015   mon c.vCurriculum vitea 2015   mon c.v
Curriculum vitea 2015 mon c.v
 
Pacte tunisien : le Pacte des Compétences Tunisiennes Engagées
Pacte tunisien : le Pacte des Compétences Tunisiennes EngagéesPacte tunisien : le Pacte des Compétences Tunisiennes Engagées
Pacte tunisien : le Pacte des Compétences Tunisiennes Engagées
 
Stolearm
StolearmStolearm
Stolearm
 
Camille MERTZ & Aurore DUPONT d’APREMONT -
Camille MERTZ & Aurore DUPONT d’APREMONT - Camille MERTZ & Aurore DUPONT d’APREMONT -
Camille MERTZ & Aurore DUPONT d’APREMONT -
 
15 pacheco rodriguez
15 pacheco rodriguez15 pacheco rodriguez
15 pacheco rodriguez
 
Ppt telethon
Ppt telethonPpt telethon
Ppt telethon
 
Importanciadelasticenlaeducacion 140402130714-phpapp02
Importanciadelasticenlaeducacion 140402130714-phpapp02Importanciadelasticenlaeducacion 140402130714-phpapp02
Importanciadelasticenlaeducacion 140402130714-phpapp02
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Catherine Ribierre, Léa Bouyssou - Le conservatoire municipal au xxieme siecle
Catherine Ribierre, Léa Bouyssou  - Le conservatoire municipal au xxieme siecleCatherine Ribierre, Léa Bouyssou  - Le conservatoire municipal au xxieme siecle
Catherine Ribierre, Léa Bouyssou - Le conservatoire municipal au xxieme siecle
 
Reflexión sobre la planeacion
Reflexión sobre la planeacionReflexión sobre la planeacion
Reflexión sobre la planeacion
 

Similaire à Securité asp.net

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
Atsé François-Xavier KOBON
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 
Le Développement d’une Application Web
Le Développement d’une Application WebLe Développement d’une Application Web
Le Développement d’une Application Web
Malick Mbaye
 
Dp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administrationDp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administration
CERTyou Formation
 

Similaire à Securité asp.net (20)

Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
 
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
 
Pydio_Apache
Pydio_ApachePydio_Apache
Pydio_Apache
 
Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)
 
X09 00844
X09 00844X09 00844
X09 00844
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRF
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
JWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdfJWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdf
 
Cd Win Xp Personnalise
Cd Win Xp PersonnaliseCd Win Xp Personnalise
Cd Win Xp Personnalise
 
Les fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationLes fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitation
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Le Développement d’une Application Web
Le Développement d’une Application WebLe Développement d’une Application Web
Le Développement d’une Application Web
 
[Tutoriel] Comment activer le protocole SSL avec Le CMS Joomla ?
[Tutoriel] Comment activer le protocole SSL avec Le CMS Joomla ?[Tutoriel] Comment activer le protocole SSL avec Le CMS Joomla ?
[Tutoriel] Comment activer le protocole SSL avec Le CMS Joomla ?
 
Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"
 
Acegi Security
Acegi SecurityAcegi Security
Acegi Security
 
Dp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administrationDp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administration
 
Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3
 
WINDOWS SERVEUR ET ADDS
WINDOWS SERVEUR ET ADDS WINDOWS SERVEUR ET ADDS
WINDOWS SERVEUR ET ADDS
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
OWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume CroteauOWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume Croteau
 

Securité asp.net

  • 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. 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. 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. 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. 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"); } }