Cómo mantener el readme libre de ser accesible desde la web

Tengo un file Léame de text sin formatting que se encuentra en el directory raíz de mi website, que está controlado por la versión con Git. Me gusta tener el file Léame allí porque GitHub lo mostrará cuando vea ese repository.

Sin embargo, cuando voy a mysite.com/readme.md , mysite.com/readme.md el file Léame. No quiero que este file esté accesible al público.

¿Cuál es la mejor manera de impedir de manera efectiva que el público acceda a este file Léame sin mover el file de la raíz del proyecto?

De muchas maneras diferentes, dependiendo de cómo github acceda a esto, agregaría algunas cosas al file htaccess en la raíz de su documento (o donde está su file Léame).

Usando mod_authz:

 <Files "readme.md"> Order Deny,Allow Deny from all </Files> 

Esto devolverá un 403 prohibido para todas las requestes a /readme.md . Si desea include en una list blanca una dirección IP específica, puede agregar este derecho arriba de la línea Deny from all líneas:

 Allow from 12.34.56.78 

que includeá en la list blanca las requestes enviadas desde el IP 12.34.56.78.

Usando mod_rewrite (que te da un par de opciones)

 RewriteEngine On RewriteRule ^readme\.md$ - [L,F] 

Esto hace lo mismo. Para include una IP en una list blanca, agréguela antes de la línea RewriteRule :

 RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$ 

También puede devolver un 404 en lugar de un 403 Prohibido reemplazando la F en los indicadores de reescritura a R=404 . Si necesita include en la list blanca un referencedor, puede agregar una condición (justo encima de la línea de reescritura) como esta:

 RewriteCond %{HTTP_REFERER} !^https?://github\.com/ [NC] 

que permitirá a las personas acceder al file readme.md si el enlace está embedded en una página de github.com .