• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3044
  • Last Modified:

Microsoft VBScript runtime error '800a0046'

hi
  I have a problem with my asp page the error is

Microsoft VBScript runtime error '800a0046'
Permission denied
/hit/default.asp, line 34

and at line 34 code is

Set tsObject = fsoObject.CreateTextFile(Server.MapPath("hit_count.txt"))

Actually the story is.
I have make a hit counter that gets the value from a text files , show it on the page and after it agin creates a new file and overwrite the new value, It works on my pc well ;(I am using Windows XP).
I searched and found that it is due to less permission given by the web hosting company.and I should call them to give write permission my folder that is hosted on a server.I try to verify that is it the correct reason, so I give only READ ( not write)  permission on my PC, but it still works.
PLz tell me whats the matter, and If in actual the above is the real reason than  I will  call me site hosting company to give the write permission, But I afraid will it be harmfull, as everyone will have the write permission.
plz suggess the best solution.
                                                          Thanx
0
leoumar
Asked:
leoumar
1 Solution
 
casstdCommented:
Hi,

               Yes the problem is that you don't have the access rights to write into that folder. you have to give
(Folder ---> Properties -----> Security --> 'Everyone' ) everyone read, wirte access but not full control access (which is dangerous).

No everyone has fullcontrol permission is dangerous but read and write permission is not a problem.

Hope this help you.
0
 
leoumarAuthor Commented:
hi
(Folder ---> Properties -----> Security --> 'Everyone' ) I cannt find it
but
(Folder ---> Properties -----> web sharing  --  
is there, I find there some access and application permissions. I set only the read permission but it still write in the file.
0
 
jmelikaCommented:
Leoumar,

We first need to determine if you're on NTFS.  Right click on the drive letter your website is on and go to Properties.  It should tell you down below the chart whether it's NTFS or FAT32.  If it's NTFS, please proceed with my following isntructions.  If FAT32, you don't have to even worry about permission.

If NTFS, follow the isntructions on this page
http://windows.about.com/library/tips/bltip542.htm

Now you should be able to clear Everyone's permisson and make it READ ONLY.

JM
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
leoumarAuthor Commented:
i have fat32  partitions.
0
 
leoumarAuthor Commented:
ok let me know one thing ,
is it dangrous to give my site 's folder to write permission
0
 
aprestoCommented:
if your database has a password make sure you include that in your connection string

..pwd=YOURPASSWORD;
0
 
jmelikaCommented:
leoumar,

The issue here is not file permission at all.   It cannot be since your hard drive is FAT32.  FAT32 does not support it.

I agree with apresto regarding the password.  Could you paste your code here so we can determine what's wrong?

JM
0
 
leoumarAuthor Commented:
I havent use any database, Just a txt file.
here is the code.

<%
Dim fsoObject                   
'File System Object

Dim tsObject                   
'Text Stream Object

Dim filObject                  
'File Object

Dim lngVisitorNumber             
'Holds the visitor number

Dim intWriteDigitLoopCount       
'Loop counter to display the graphical hit count
      
'Create a File System Object variable
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")

'Initialise a File Object with the path and name of text file to open

Set filObject = fsoObject.GetFile(Server.MapPath("hit_count.txt"))
      
'Open the visitor counter text file
Set tsObject = filObject.OpenAsTextStream
      
'Read in the visitor number from the visitor counter file
lngVisitorNumber = CLng(tsObject.ReadAll)
      
'Increment the visitor counter number by 1
lngVisitorNumber = lngVisitorNumber + 1
                  
'Create a new visitor counter text file over writing the previous one

Set tsObject = fsoObject.CreateTextFile(Server.MapPath("hit_count.txt"))
      
'Write the new visitor number to the text file
tsObject.Write CStr(lngVisitorNumber)
      
'Reset server objects
Set fsoObject = Nothing
Set tsObject = Nothing
Set filObject = Nothing


'Display the hit count as text
'Response.Write(lngVisitorNumber)

'Loop to display graphical digits
For intWriteDigitLoopCount = 1 to Len(lngVisitorNumber)
      
      'Display the graphical hit count
      Response.Write("<img src=""counter_images/")
      Response.Write(Mid(lngVisitorNumber, intWriteDigitLoopCount, 1) & ".jpg""")
      Response.Write("alt=""" & lngVisitorNumber & """>")
Next

%>
0
 
jmelikaCommented:
OK.  Here is what's happening:

On your PC, you are running FAT32 which does not have the file security feature; your web hosting does.  The user account that runs the ASP page does not have access to WRITE files to that folder.  It's their security rules.  You'll have to ask them to give permission to the user your website is running as to write to your web folder.  I'm sure they'll do it for you.  After all, it's you who's taking the risk, they won't care about your files more than you. :)

You won't be able to duplicate the issue on your PC since you are running FAT32.  You COULD try and convert your hard drive to NTFS to duplicate the issue, but I wouldn't recommend it.  It's a good idea to run NTFS in general, but for your reason, it's not worth the risk.  Some major things could break, and for what..?

I'd just ask them to do it.

Let us know!
JM
0
 
leoumarAuthor Commented:
plz let me know thing one and the last thing ,
If I call the hosting compnay to do so, they shall do it confirmly, but

Did u think it is harmful to give access of write to some

folder, and also i want to say that this folder is inside main folder, thats y we must have to give the write access to main folder too.
I have seen an alert msg from microsft windows that warns to give the access.
                                                        Thanx
0
 
jmelikaCommented:
It all depends on what you have on your website.  Hackers will not hack just for fun.  They usually hack sites to get stuff: credit card, calling card pins, etc.  If you're running a standard page that just displays a few information about something, with no database or files holding critical data, what if they break in it?  It'll be their disappointment.  They'll change your page and put something that says "All your base are belong to us" and call it a day, you can easily delete that and put back your files from your backup (which you'd better always have); and you're back!

I don't believe it's that harmful to do it.

I wouldn't recommend giving write access to ALL folders including the root.  I'd do it in a subfolder that holds nothing but your counter file.  That way there is not much to break if it was compromised. ;)

JM
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now