It depends on how an application uses the files in that directory.
If the application outputs links directly to files in that directory, then your only real options are using something like the following in the folders htaccess file to prevent mod_autoindex from showing a listing of the files in there. This is assuming your setup is Apache and allows you the "Options Override" in htaccess.
Code:
Options -Indexes
ErrorDocument 403 "Access Denied
Or, adding a blank "index.html" for Apache, and for IIS "default.html" in the folder to prevent the indexing. Adding the blank HTML file will work just about anywhere, but it's not very good at explaining what's happening to the user.
Doing it one of those ways will keep the visitor from aimlessly browsing around in the content folders, they will need to know what they're looking for to access it. Password protecting the directories in this situation just doesn't make sense, because the appication needs to be able to direct legitimate visitors to the files in there.
However if the application is one that generally uses links similar to "file.php?file=123456" you can handle it in a few other ways, in addition to the ones above.
One would be to use CPanel to "Pasword Protect Directories" which will setup HTTP Basic Authentication (when the browser pops up a login window). You can consult the CPanel (or similar control panel) documentation about how to do that.
Another would be to modify for instance, htaccess in an Apache server, to deny from all by adding this to an (or the) ".htaccess" file in the folder in question.
that directive essentually tells the Apache server to do exactly what it says, deny serving requests from all who make requests.