<p>I'd like to be able to place all my ASP Classic include files outside of the web root. This assures no include files can be called directly via the URL. </p>

<p>What is the best way to accomplish this?</p>

<p>I know I can use a <a href="http://msdn.microsoft.com/en-us/library/zwk103ab.aspx" rel="nofollow noreferrer">virtual directory</a> to reference an includes folder outside of web root, but doesn't that still allow direct access to that directory via the URL? Perhaps I'm misunderstanding the nature of virtual directories.</p>

From
this article
:
(I've never need to do this myself)
Understood.  Make a virtual directory
  'inside' your Default Web Site that
  points to the files 'outside' your
  working folder.  In your code
  reference the virtual directory that
  points to the folder / files outside
  your normal structure.  For example
Your default website is a local folder
  called c:\websites\example.com.  Under
  example.com, all your folders and
  files.  However, the files you want on
  a file server called FileServerA in a
  folder called D:\MyWebsiteIncludes. 
  The UNC path is
  \FileServerA\D$\MyWebSiteIncludes or
  if you create a share on the folder,
  \FileServerA\MyWebsiteIncludes  On
  the web server, create a virtual
  directory that maps to either share
  path.  You'll need to make sure the
  proper credentials are configured to
  access the files on the remote server.