That isn't the function of sandboxes.

Here is a code sample of my previously described approach. It is primitive, but 
solves what you're trying to solve. Whatever directory your asset files live in 
should be set to no web access. CF will be able to get the files, but a web 
browser could not.

<cfif not IsDefined("Session.Auth.IsLoggedIn")>
    <cfinclude template="../login.cfm">
    <cfabort>
</cfif>

<cfparam name="url.filename" default="empty.txt">
<cfset thisPath = ExpandPath("*.*")>
<cfset DirectoryPath = GetDirectoryFromPath(thisPath)>    
<cfset filepath = DirectoryPath & "files\">
<cfset thefile = filepath & url.filename>
<cfset fileext = ListGetAt(url.filename,2,".")>

<cfswitch expression="#fileext#">
    <cfcase value="xls">
        <cfset mimetype = "application/msexcel">
    </cfcase>
    <cfcase value="doc">
        <cfset mimetype = "application/msword">
    </cfcase>
    <cfcase value="pdf">
        <cfset mimetype = "application/pdf">
    </cfcase>
    <cfcase value="ppt">
        <cfset mimetype = "application/vnd.ms-powerpoint">
    </cfcase>
    <cfcase value="pps">
        <cfset mimetype = "application/vnd.ms-powerpoint">
    </cfcase>
    <cfcase value="txt">
        <cfset mimetype = "text/plain">
    </cfcase>
    <cfdefaultcase>
        <cfset mimetype = "">
    </cfdefaultcase>
</cfswitch>

<cftry>
    <cfheader name="Content-disposition" value="inline; 
filename=#url.filename#">
    <cfcontent file="#thefile#" type="#mimetype#">
    
    <cfcatch>
    There was a problem retrieving your file.
    </cfcatch>
</cftry>




________________________________
From: Emile Melbourne <[email protected]>
To: [email protected]
Sent: Thursday, December 18, 2008 2:55:33 PM
Subject: Re: re[2]: [ACFUG Discuss] Blocking a ColdFusion website's directory


Thanks guys for all your responces. 
 
Only users who have logged in/authenticated should be should be authorized to 
view these secured pdf files and images.  In the future, I imagine specific 
pdfs will be viewable to specific authenticated users which I suppose would be 
the authorization topic Teddy is getting at. Am I right about this?
 
I'm going to test putting the files meant to be secure outside of the site root 
folder and getting it to work that way. 
 
I've also come accross settings found in the ADOBE COLDFUSION ADMINISTRATOR 
meant to let users enable and disable access to specific files and directories
   Security > Resource Security > CHECK "Enable ColdFusion Sandbox Security"
 
Do you guys know if this is also a solution to this particular problem?
 
Thanks Again
Emile

 
On Thu, Dec 18, 2008 at 1:43 PM, Teddy R. Payne <[email protected]> wrote:

Mischa,
Yes, but as you can see from Shawn's comment that Shawn was approaching the 
topic from the point of authorization.  From the response by Troy, this leads 
to authentication.

So, his usage of diction or use of the word is indeed correct, but not everyone 
interpreted it that way as it still provided some confusion regardless.

The solution may very well use both concepts to achieve his desired result.  

A use that I have witnessed has to deal with Shawn's suggestion of putting the 
files in a non-webroot accessible directory or network source.  Then a 
controller mechanism would have to understand how to "serve once" either 
through a mechanism of of being an authenticated user with an authorized role 
of being able to see a document.  Or, the the site does not have authentication 
and the mechanism must have a more introspective ability to discern a user 
through their token, IP or whatever.  The public approach would suggest a 
tracking process to see if a particular requestor has asked for the document 
before or not.

This also brings up the question, how do you determine who has the 
authorization to request a particular artifact multiple times?

This may be over complicating his initial scope of the application, but these 
are questions that I would ask whenever someone would task me with a File 
serving application on potentially limited released documents.

In any event, I was not criticizing Emile.  I was asking for more detail before 
offering generic advice/guidance. 


Teddy R. Payne, ACCFD
Google Talk - [email protected]




On Thu, Dec 18, 2008 at 1:32 PM, Mischa Uppelschoten ext 10 
<[email protected]> wrote:

OP never used the word "authentication". From wikipedia: "authorization is the 
concept of allowing access to resources only to those permitted to use them." 
Seems to me he used the term properly.
/m



: Emile,

: From your description, you really need to define what "authorized" and "not
:  authorized" means.

: This will help clarify to the people assisting you as to the approach they can
:  suggest.

: As "authorization" and "authentication" often times are used interchangeably
:  by developers when in fact they represent two distinctly different topics.

: Teddy R. Payne, ACCFD
: Google Talk - [email protected]




: On Thu, Dec 18, 2008 at 12:00 PM, Emile Melbourne <[email protected]>
:  wrote:


:     Hey Everyone,
:
:     I am currently in the process of building my first secured site.  Most 
pages
:  of the site will be behind a login page.  I'm using ColdFusion's
:  Application.cfc onRequestStart function to check if a user is logged in or
:  not.  Thats pretty much boiler plate.
:
:     My concern is how to prevent an non authorized user from accessing or
:  hotlinking to non ColdFusion page. (i.e, images, pdfs, swfs, .txt etc).
:
:     Whats the best way to ensure a user can't link directly to these items but
:  instead be redirected to login.cfm instead?
:
:     Is there a way to lock down an entire directory?
:
:     Thank you for all your help
:     Emile
:

:     -------------------------------------------------------------
:     To unsubscribe from this list, manage your profile @
:     http://www.acfug.org?fa=login.edituserform
:
:     For more info, see http://www.acfug.org/mailinglists
:     Archive @ http://www.mail-archive.com/discussion%40acfug.org/
:     List hosted by FusionLink <http://www.fusionlink.com>
:     -------------------------------------------------------------



: -------------------------------------------------------------

: To unsubscribe from this list, manage your profile @
: http://www.acfug.org?fa=login.edituserform

: For more info, see http://www.acfug.org/mailinglists
: Archive @ http://www.mail-archive.com/discussion%40acfug.org/
: List hosted by FusionLink <http://www.fusionlink.com>
: -------------------------------------------------------------







---------- Original Message ----------

FROM:      "Teddy R. Payne" <[email protected]>
TO:        <[email protected]>
DATE:      Thu, 18 Dec 2008 13:25:15 -0500

SUBJECT:   Re: [ACFUG Discuss] Blocking a ColdFusion website's directory

Emile,
>From your description, you really need to define what "authorized" and "not 
>authorized" means.

This will help clarify to the people assisting you as to the approach they can 
suggest.

As "authorization" and "authentication" often times are used interchangeably by 
developers when in fact they represent two distinctly different topics.

Teddy R. Payne, ACCFD
Google Talk - [email protected]




On Thu, Dec 18, 2008 at 12:00 PM, Emile Melbourne <[email protected]> 
wrote:


   Hey Everyone,

   I am currently in the process of building my first secured site.  Most pages 
of the site will be behind a login page.  I'm using ColdFusion's 
Application.cfc onRequestStart function to check if a user is logged in or not. 
 Thats pretty much boiler plate.

   My concern is how to prevent an non authorized user from accessing or 
hotlinking to non ColdFusion page. (i.e, images, pdfs, swfs, .txt etc).

   Whats the best way to ensure a user can't link directly to these items but 
instead be redirected to login.cfm instead?

   Is there a way to lock down an entire directory?

   Thank you for all your help
   Emile


   -------------------------------------------------------------
   To unsubscribe from this list, manage your profile @
   http://www.acfug.org?fa=login.edituserform

   For more info, see http://www.acfug.org/mailinglists
   Archive @ http://www.mail-archive.com/discussion%40acfug.org/
   List hosted by FusionLink <http://www.fusionlink.com>
   -------------------------------------------------------------




-------------------------------------------------------------
To unsubscribe from this list, manage your profile @
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by FusionLink <http://www.fusionlink.com>
-------------------------------------------------------------


-------------------------------------------------------------

To unsubscribe from this list, manage your profile @
http://www.acfug.org?falogin.edituserform


For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------






------------------------------------------------------------- 

To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
------------------------------------------------------------- 

------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
------------------------------------------------------------- 


-------------------------------------------------------------
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to