Jquery – Json : cherche Lycos !

Je vous propose dans ce tuto de faire une recherche dans un array Json, à ce jour j’utilise deux méthodes, la première étant ma préférée.

Méthode 1 : Jquery.grep

On va chercher la ligne qui correspond à locs[n].id == 1, si on trouve on extrait le array qui correspond à la requête. Bien entendu si on trouve plusieurs enregistrements (item.length > 1) il faudra faire un for each afin d’afficher tous les enregistrements trouvés.

Méthode 2 : $.each

Cette méthode permet de trouver le premier enregistrement correspond à la recherche. Pour obtenir les mêmes avantages que la première méthode il faut créer un item, stocker le résultat dans ce dernier et inhiber la sortie du loop. Plus long à traiter car on scrute tous les enregistrements dans ce cas …

Jquery – Select2 : auto remplissage depuis Json

Remplir un select2 via un Json, rien de plus simple en quelques lignes :

Bien entendu il faut en entête appeler jquery et la bibliothèque de Select2 :

https://select2.org/getting-started/installation
https://code.jquery.com/


Astuces select2

Select2 est prédéfini avec les valeurs id et text, si vous créez votre Json avec ces deux identifiants on peut simplifier le remplissage du select par :

Vous souhaitez changer la valeur du select en sélectionnant une valeur, Jquery répond à ce besoin :

Vous souhaitez récupérez la valeur du select en automatique sur changement du select (j’ai utilisé .each si vous avez un Json complexe et souhaitez retrouver des informations complémentaires) :


Résultat via CodePen :
https://codepen.io/laurent-zminka/pen/WNojyxN


IIS7 – security : filtrage par ip

Comment refuser l’accès à votre site à certaines Ip via le web.config ?

Modification du fichier applicationHost.config

Ouvrez le fichier host config :

C:\Windows\System32\inetsrv\config\applicationHost.config

Cherchez la ligne :

et transformez « Deny » en « Allow »

Modification du fichier web.config

Modifiez le fichier web.config de la sorte :

Donc désormais l’ip 217.128.42.22 n’est plus autorisée à accéder à votre site.

NB : attention, le blocage génère maintenant une erreur 403, généralement non définie dans le web.config, donc ajoutez une section pour cette erreur :

ASP.NET 4.0+ Request Validation Error et Web.config Ciblé

Le problème à résoudre concerne la « Request Validation » qui empêche de recevoir certains caractères comme notamment les balises < … >
Il s’agit d’une requête POST qui sera traitée, analysée puis enregistrée via LINQ, les strings seront donc « parameterized ».
Cependant, cela n’est pas le cas de l’ensemble du site nous devons donc appliquer cela à une zone donnée.

  1.  validateRequest= »false »
    ce paramètre permet de supprimer la validation en .NET 2.0
    Il s’insère soit dans la page ciblée :

    soit dans le fichier Web.config :

     
  2. <httpRuntime requestValidationMode= »2.0″ />
    A partir d’ASP.NET 4 ou plus, cet élément du Web.config est indispensable pour que l’annulation du REQUEST VALIDATION soit prise en compte.
    En effet, depuis ASP.NET 4, la validation de la requête se fait plus tôt dans le cycle de vie de la page.

     
  3. « location » : Ciblage d’une page ou d’un répertoire
    La touche finale, il faut impérativement n’affecter que les pages concernées, à cette fin nous utilisons un élement du Web.config qui permet de cibler une location :

     
  4. Le résultat final est celui-ci :

     

Sources :
https://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/b6x6shw7(v=vs.100).aspx

 

 

IIS7 – Leverage Browser Caching

Afin de passer à A sous GTmetrix pour la notion de cache des images sous windows il suffit juste d’ajouter le snippet suivant dans le web.config

Ce qui donne un cache de 30 jours, largement suffisant 🙂

Souci de caractères mal encodés

Quand on veut utiliser du texte dans une fonction (style envoyer des mails avec un texte pré enregistré), les caractères se retrouvent mal encodés :

Ex : , l’AŠquipe au lieu de l’équipe.

Pas un souci d’encodage de mail, cherché des heures avec Encoding mais sans succès.
Il suffit juste de ré encoder le texte en UTF8.

 

ASPX – programmer web.sitemap et construire son propre menu

Bonjour,

Après des heures de recherche afin de pouvoir utiliser web.sitemap en mode programmé dans ma master page, je vous livre ici la méthode la plus simple afin de parser le fichier xml :

Tout d’abord le fichier XML web.sitemap

Dans mon cas je ne devais utiliser que url et title, on peut rajouter autant d’infos que vous désirez (description, …)
A savoir, une ligne de titre, ex :

ne doit pas contenir « # » en url par exemple, car si ce même lien se reproduit cela plante, effectivement impossible d’avoir deux liens identiques dans un même fichier de liens.

La partie cs intégrée à ma master page :

Il faut ajouter l’ assembly :

  • System.Xml

Méthode : je lis le premier node parent, et je regarde si il existe des nodes enfants, si oui alors j’affiche tous les enfants.

A savoir, pour checker si une valeur existe utiliser cette méthode :

Prochain cours, génération de web.sitemap et fichier d’indexation google …

MailMessage avec localhost

Méthode très intéressante si jamais le serveur de relais n’est pas joignable. De base tous nos serveurs smtp des machines sont réglés pour relayer les emails via notre serveur de relais, et pour IIS l’envoi de message est donc configuré via localhost.

Le but du jeu est donc de stocker dans un dossier de transit nos emails à envoyer. Si le serveur de relais à un souci, les emails restent stockés et partiront dès que ce dernier sera de nouveau joignable. Voilà, plus possible de perdre l’envoi d’un email dans vos codes !

 

 

Convertir decimal en entier pour les paiements sécurisés

Pour tous les paiements sécurisés on envoie les valeurs sous forme d’entier en centimes , ex :

Voici un petit code qui arrondit le montant à deux chiffres après la virgule et vous rend le résultat sous forme d’entier.