I am using a password protect code from http://javascriptkit.com/script/cut34.shtml . The code works perfect for me since i need to have different passwords to access different pages in the same interface, and here the password is the name of the html files.

Concept Used: The pop up window asks for password and then looks for an html file with the same name in the root folder. If there is no such file then the pop up stays and the base page returns again.

Modification Needed: I want to make the code look for the html file in a specific folder instead of in the root.

I changed the 5th line of the following code to make it location=\/folder\/password +".html"

But it does not work. Kindly suggest me my mistake. needless to say that I am a beginner. Your help shall be highly appreciated. Thanks

By entering the wrong password it tries to open the respective non existent html file in the folder in the directory. and stays there with a file not found page. Is there any way in using javascript, the page can be redirected to a predefined page when the user enters a password(wrong), and no such html file exists in the folder ?

Please guide.

AndrewGSW

12-08-2012, 10:01 PM

A thought occurs that you could try to load the page in a hidden iframe, using onload to try to reference an element on the page, even document.body, and if this fails redirect to another page. But I don't know without a little googling whether onload fires if the page is not found(?).

[I think there might be another way to do this using ajax or some other similar technology.]

But given that this is not secure at all.. you could store the passwords in an array and check if the one they've entered exists in the array.

Mayankode

12-08-2012, 10:23 PM

Thank you Andrew. That seems to be a clever idea. I do not have adequate know how to execute that though. I am getting the files hosted and hopefully configuring a 404 not found page might help. I will continue to investigate. Thank you again.

AndrewGSW

12-08-2012, 11:19 PM

Yes I was reading a little further. If you provide your own 404 page then there will be something on the page that you can refer to that identifies it. Or, of course, this 404 page could offer to redirect the user.

I had what I thought was a clever idea, which was to wait for onload to complete and just read the location (the address); if it's different then the page they were seeking doesn't exist. But I don't know if this would work. Something like:

and then put the contents of the above code in the password seeking pop up window.
What else do i need to do to achieve the redirection back to the predefined page.. where in the code does it define the predefined page.

AndrewGSW

12-09-2012, 01:24 PM

You could play with the following. But, erm...., it's not quite working?! Added: actually, I think it is working, if uploaded to a server.

I tested the code in dropbox using the web address.. and it seems to be working.. but I am not able to use the code with the password pop up page i am using...

@Andy, Please see this link https://dl.dropbox.com/u/25512757/Sand-Box/index.html (note for others who are seeing this link at a later date : it has been taken off. Sorry)

Currently since it is in dropbox server, it is giving a 404 page, but i want it to redirect to a predefined /dragto.html page if it is not leading the user to /Codebox/xyz.html

I understand that you are saying to put your code in the popup page. bur then where should I put the secretIframe, in the resulting page (treasure) ? Please help me..

nb. I am following you in another post in an alternative to make this happen in google app engine.

AndrewGSW

12-10-2012, 01:03 AM

Haven't looked in detail but I'm guessing you can put the hidden iframe in the popup. If it succeeds then reload the same page in the main window, via window.opener.

I don't know what treasure refers to, unless it is a compliment :D

Mayankode

12-10-2012, 01:32 AM

:D @Andy

I am not sure.. When I put the code in the popup then it shows a messagebox in the pop up itself, as soon as it loads and on clicking ok, takes me to the dump (dragto.html)... but the user never gets to input the password...

Here is the file structure I am using

Webroot
-index.html (the homepage)
-dragto.html ( refered to as dump)
-gate.html (the pop up )
-Codebox
--xyz.html (refered to as treasure)

The desired behavior is on clicking a button in index.html it opens the gate.html as a pop up. Then if you put xyz as the password in the popup, it takes you to /Codebox/xyz.html but entering anything else should take you to dragto.html.

The codes of pages without your code are the following.

Code of Index.html

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>The Home Page</title>
<SCRIPT LANGUAGE="javascript">
<!--- Hide from tired old browsers
var nifty_little_window = null;
function gateKeeper() {
nifty_little_window = window.open('gate.html', 'theKeeper',
'width=390,height=200,top=450,left=500,resizable=no');
}
// End hiding --->
</SCRIPT>
</head>
<body>
<div>
<h1>This is the homepage</h1></br><h2>If you enter password xyz in the following pop up you will get the trasure</h2></br><h3>giving any other password will take you to the Dump page</h3>
</div>

Sorry for pasting crude codes... right now if you go to the https://dl.dropbox.com/u/25512757/Sand-Box/index.html I have added your code in the pop up and it is not functioning desirably... Here are all the files you can test easily https://dl.dropbox.com/u/25512757/Sand-Box.rar Please guide me... Thank you...

I added the above code to the pop up file and placed a carousel.html in the root drive. But I am not getting the desired result. It does not give a chance to enter the password and then takes to the dragto.html everytime... May be I am missing something here. :(

AndrewGSW

12-10-2012, 04:27 PM

Did you delete the line

oIframe.src = "carousel.html";
from its current location? Sounds like you've put code in the wrong place. Post the current js code.

Mayankode

12-10-2012, 10:12 PM

I have replaced the carousel code with

oIframe.src = "Codebox/" + password + ".html";

and it does the right thing when I enter the right password..
But does not bring back to dump if I enter wrong password... it just takes me (as intended by the original code) to /Codebox/wrongpassword.html

The problem here is, a wrong password can be any thing and the code contend in the pop up box does not know when it opens, what password the user is going to enter.

I know I am not understanding the code. Here is the file arrangement.
Webroot
-index.html (the homepage)
-dragto.html ( refered to as dump)
-gate.html (the pop up )
-Codebox
--xyz.html (refered to as treasure)
Please suggest what should the code be which I need to put in the pop up (gate.html).

I think I am confused about the not-carousel.html in the code. Please help
Here is the link with the implemented code. https://dl.dropbox.com/u/25512757/Sand-Box/index.html

AndrewGSW

12-10-2012, 10:25 PM

Erm.. I see that you have kept your original script and just added mine as a completely independent script :confused:. You've even kept my reference to non-existent carousel, etc., pages - so no wonder it won't work.

You need to combine my script with yours - that is, with your goForit() function. If you have no idea how to do this then I can't help you any further and perhaps you should consider hiring someone to do this for you.

Good luck. Andy.

Mayankode

12-10-2012, 10:33 PM

I was thinking the same. I wish I could merge it.

I will figure it out. Thank you for the heads up. I am sincerely thankful for your help. Will ask you if I run into any problem with this code. Thank you.

AndrewGSW

12-10-2012, 11:06 PM

Well, seeing as it's Christmas, this will be nearer (its the code for the pop-up):

</HTML>
It assumes a page called dump.html exists, as you suggested previously. I haven't tested it in combination with the main page.

Mayankode

12-10-2012, 11:52 PM

I really appreciate your help Andy. I used the above code for the popup and I feel I am almost there. I can see the pop up box load the page after clicking submit in the password form. And as expected it does close itself after opening the page in the main window too. But the page it opens in the main window is not the dump.html (which is present in the root)rather it takes to the /Codebox/wrongpassword.html I have implemented it here https://dl.dropbox.com/u/25512757/Sand-Box/index.html

I don't want to bother you with this, And I appreciate your time and effort. I would still appreciate it even if you drop this out now. Thank you...

AndrewGSW

12-11-2012, 12:13 AM

It won't work from dropbox or locally - it should work from a server (probably..).

When the wrong password is entered it doesn't have a 404 page to display, so the address bar still contains 'wrongpassword' - so it thinks the right password was entered.

Mayankode

12-11-2012, 12:33 AM

The whole thing boils down to the absence of a 404page...
I just uploaded them to the server in google appengine.. but like I was saying in the other post the errors are displayed with some gibberish error codes and it actually does not reach a 404 page. The page address remains the same.

So this did not work in the server too. And it will not work until I fix the definable 404page issue. Once I set it up, This pop up code will work like a charm I think. You have been very kind to me. And I appreciate that. Please do not worry about this. I will have it figured out by some friend of mine some time later.

Heartfelt thanks to you...

AndrewGSW

12-11-2012, 12:43 AM

No worries. You could delete (temporarily) that stuff in your config-file, just leaving the redirection at the bottom to your own 404 page. Andy.