Récuperer un fichier effacé sur Aptana / Eclipse

0

Je viens de faire un svn delete sur un fichier que j’avais pas commit !
J’ai pas commit le delete… Ouf.. Eh bah pas ouf en fait, parce que svn delete s’occupe aussi de delete le fichier en local !! Mais pkoi ????
Et cherchez pas dans la corbeille, il y est pas !!

Et bien j’ai trouvé la solution ! Par hasard, et ca fait bien plaisir !!

Si votre fichier était ouvert dans Aptana, pas de soucis, il est toujours ouvert, et aptana vous demandera si il faut refresh car il a disparu. DITES NON bien sur…

Si par contre, il n’etait pas ouvert, il devrait toujours etre dans l’arbo d’aptana, et là il suffit de recreer le fichier vide (meme nom) dans le systeme de fichier de l’os, puis retourner sur Aptana, l’ouvrir, vous avez un fichier vide.
Là vous faites clic droit, « compare with » => « local history »

tinlin !!!!

A chaque enregistrement, Aptana / Eclipse enregistre une revision de fichier, c’est magique, ca ‘peut’ bouffer bcp d’espace, mais c’est quand meme super SAFE !!

ENFIN, si dans Aptana il n’existe plus ce ptit fichier, il reste toujours des revisions dans le workspace (normalement, ca j ai pas testé… mais ca devrait etre bon)
Une simple recherche sur du texte que vous avez ecrit, et vous retrouvez les revisions !

Bloquer tout le monde sauf un user – agent particulier

2

Si comme moi, vous tentez d’intégrer un plugin facebook like alors que votre site est en développement et que par conséquent vous décidez de bloquer l’accès par un htaccess / htpasswd à tout le monde sauf les valid user,
Vous êtes alors confronté au même problème.

Comment faire pour tester l’affichage du like sur votre profil sans temporairement enlever la limite d’accès ?

En cherchant un peu dans les doc apache / htaccess, j’ai découvert qu’il était possible de bloquer certain utilisateur mais d’autoriser des machine sur des ip spécifiées.

Seulement, en regardant mes logs apache, le scrapper de Facebook n’utilise pas tout le temps la même IP mais elle commence apparemment toujours par :
69.63.180.*

Il est possible d’autoriser une classe d’ip comme ceci :
69.63.180.0/255
Pour mon test avec Facebook ca ne marchait pas, j’ai donc décider de trouver un moyen d’autoriser seulement facebook en matchant le user agent de son scrapper.

C’est donc FAISABLE !

Le user-agent du scrapper de facebook est :

« facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) »

(http://developers.facebook.com/docs/reference/plugins/like)

Pour ce faire, il faut dans le fichier htaccess, définir une variable « d’environnement » qui correspondra aux user agent qui matcheront avec l’expression régulière donnée :

SetEnvIfNoCase User-Agent « .*(facebookexternalhit).* » AllowedAgent

Nous pourrions utiliser SetEnvIf (le ‘NoCase’ correspond à case insensitive)

Et il suffit ensuite d’ajouter la ligne :

allow from env=AllowedAgent

Dans mon cas, j’ai décidé de bloquer tout le monde SAUF soit un utilisateur enregistré, SOIT facebook.

Il faut alors coupler deux types de sécurités:

1/ Bloquer tout le monde : Deny from all

2/ Autoriser les utilisateurs enregistrés (contenus dans le fichier htpasswd) :

AuthUserFile /path/to/.htpasswd
AuthName « Veuillez vous identifier »
AuthType Basic
require user user1 user2 user3

3/ Autoriser le user agent spécifié :

allow from env=AllowedAgent

4/ Informer à Apache qu’il suffit que l’une des deux conditions soit vérifié pour donner un accès (soit un user, soit le userAgent) :

Satisfy any

Finalement, le fichier htaccess ressemblera à ça :

SetEnvIfNoCase User-Agent ".*(facebookexternalhit).*" AllowedAgent
AuthUserFile /path/to/.htpasswd
AuthName "Veuillez vous identifier"
AuthType Basic
Satisfy any
Order Deny,Allow
Deny from all
allow from env=AllowedAgent
require user user1 user2 user3

Mes sources : (à lire ! C’est interressant !!)

Les bases du htaccess : http://lebrument.free.fr/wordpress/wordpressfr/?p=50

Plus complet mais en anglais : http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/#security

Go to Top