Server Side Includes not working on IIS 7 - Classic ASP - iis-7

OK So I have Windows 7 with IIS 7
Server Side includes and all the other stuff required in "Turn Windows Features on or off"
ISAPI.DLL module in IIS is enabled.
Allow parent paths is enables on all locations.
When I run a file with an include, what I see is "< ? %" the ? is in a black diamond. And I can see the actual code instead of the included page being processed and served by IIS.
The Parent Page throws an ASP Exception which means ASP itself is working.
The include file is a connection string so nothing out of the ordinary and its extension is also .asp.
I have read about 50+ suggestions on various sites including ALL on stackoverflow but no joy.
BTW, the include runs perfectly if i call it directly from browser.

Please set enable parent path = true in IIS for this website, this will allow access parent page

Related

Blank ASP.NET Webpage for the application deployed on IIS

I have an asp.net application deployed on IIS Server located at 10.0.0.74, when
i tried to access it with chrome browser i get an empty or blank webpage.
However if my colleague tries to access it from his computer he get normal webpage with content on it.
It seems really weird to me what might be the problem.
The screen shot below is what the page looks like.
I would appreciate any help
This is not enough to go on, assuming ASP MVC 5 on IIS here are some suggestions.
On your server
Check the following
Is the physical path in IIS correct - actually point to your code?
Do you have any rewrite rules in your web.config that could be redirecting?
Did you set up the bindings correctly?
Are you hitting the site under https / http?
Checked "Turn windows features on/off" and see if ASP.NET 4.8 installed
Did you setup the HTTP Redirection and HTTP Errors
See how you are setting up error handling setup in your global.asax, see here and disable it
Goto your Control panel > Programs and features > Turn Windows features on or off and under "World Wide Web Services" / components:
Common HTTP features:
Default document
Directory browsing
HTTP Errors
HTTP Redirection
Static Content
Security
Basic authentication
Request filtering
URL Authorization
Windows authentication
The problem was that the plugins in "Content" folder were not included in the projects.
I included all the files shown in the image below.
I apologize for wasting your time, i should have checked the console before!

Remove NEGOTIATE from WindowsAuthentication in IIS

I have a site running in IIS 7.5 that is accessed using a DNS alias different from the actual server name. In IE 8, integrated authentication is failing, but in Firefox and Chrome everything works fine. (IE presents a credential challenge a few times, then displays a 401.1 error page.)
I have figured out that this is due to IE using Kerberos (aka "Negotiate") over NTLM, and Kerberos requires registering a Service Principal Name (using SETSPN) so that the mismatch between the DNS name and the server name is properly handled.
My web site, however, doesn't need impersonation--it is enough to have delegation. So instead of messing with SetSPN, I would just like to remove "Negotiate" from the list of WindowsAuthentication methods in IIS.
I have searched for quite some time to find out how to do this in IIS. I have played with many appcmd commands--but I just can't find online examples, or figure out how by reading MSDN documentation or using appcmd /? to make appcmd commands apply only to a particular application within a site rather than to the entire web server. A few search-hours later over two days, and at least 3 dozen web pages visited, I am still coming up fruitless.
How in tarnation do I get this done--it seems like it should be so easy!
Open the Configuration Editor in IIS. It comes with IIS 7.5, or you can download the IIS administration pack for IIS 7.0. Navigate to the scope you want to affect (server, site, or application) and then open the icon:
.
Change the Section to system.webServer/security/authentication/windowsAuthentication:
Click on the providers item, and then click Edit Items on the right. Select the "Negotiate" item and click "Remove":
Close the dialog and click Apply in the Actions pane on the right.
Your problem is solved! No more Kerberos/negotiate!
Note: you can also click Generate Script in the actions pane to display the code that will make the change in either C#, javascript, or with appcmd from the command line.
For reference, here is the appcmd statement to do the job without using the Configuration Editor.
appcmd.exe set config "Virtual/path/to/application" -section:system.webServer/security/authentication/windowsAuthentication /-"providers.[value='Negotiate']" /commit:apphost

HTTP/1.1 500 Server Error With ASP classic

At the very outset I would like to state that this is my first ASP classic page that I have created which since the first deployment on IIS is giving me server 500 error. I have searched the entire web and have done almost everything possible to get this right, but all in vain.
I have created a classic ASP page using Web Matrix. This is a web based dashboard which connects to MSSQL server and fetch necessary information. I have a similar app in php which is working perfect, but I wanted to learn ASP hence was trying to make a similar web app on ASP. This app works absolutely fine on Web Matrix. When I run this app from within web matrix (both on chrome as well as IE) it connects to the required database and I can browse the details as expected. The problem starts when I host this on IIS (localhost on my windows 7 pc). This is the exact procedure that I have followed :
Created a new Site on IIS named "YCube"
Using basic settings I have given the following Physical path for the app (D:\YVXS\Personal\ASP\SSTool\Ycube) {the project output folder}
In the bindings page I have assigned port 81
IIS authentication is set to "Anonymous Auth"
Application pool for asp is set to classic (as IIS first stated it cannot perform the task in integrated mode)
After this when I tried browsing localhost:81/menu.asp, it given me server 500 error. The 21 days research starts now (bullet points below)
To get the descreptive errors on the web page I did following but the error description did not change IIS->asp->Compliation->send error to browser =true, friendly http error on IE = disabled
IIS log files, not sure if iam not able to understand the error but am getting follwing on the log file (C:\inetpub\logs\LogFiles\W3SVC1
2013-02-23 08:07:44 ::1 GET /menu.asp |-|ASP_0147|500_Server_Error 80 - ::1
On the IIS forum only I underatood at time global.asa file can cause this problem, I deleted this file and tried, all in vain
The folder and files permission for my site is read only, however I have tried the same with read and write access also, this also did not help
On the error pages in IIS, i have changed the "Edit feature settins" to "Detailed error", this also didnot give me any futher error desc.
24 times i have uninstalled IIS and installed back, nothing has happend
Someone suggested to created a dummy asp file and try hosting the same of IIS, so I used a small code
<HTML> <BODY> This page was last refreshed on <%= Now() %>. </BODY> </HTML>,
this is giving correct output (This page was last refreshed at 18:88:22....), however with my original asp page I still get server 500 error
A friend of mine suggested to delete all other hosted web pages from IIS and try (I had one PHP on the IIS), hence I deleted the same and tried, no changes at all
Event log file is showing nothing pertaining the ASP (only few files are there which tells about unexpected shutdown of my PC)
I created a second ASP file which had MS access at the backed, this only is also giving me same server 500 error
Other things that I have tried is changing the web.config file to send detailed error, (thouh i forgot the exact line) but that also did not help me
Here are my system config and other details Windows 7 professional, IIS7.5.7600, MSSQLR2express. Also please note that I have tried hosting this on two othe pc's that I have(both windows 7) and in office server 2003, but all are giving me same server 500 error.
Never thought learning a classic asp will put me into all this Jazz...please help..
Couple of Things u need to take care of while configuring ASP site in IIS
1) Enable parent path = true
2) if you have 64 bit machine need to set your Application pool for 32 bit.
this are default settings which we need to take care.

IIS upgrade NOT backwards compatible?

I have a series of web pages that running off if an IIS (5.1) server.
The pages use VBscript in .ASP pages which display and populate a back end database.
These pages have been working 100% error free for years. I loaded a Microsoft tool (Visual Studio Express) to try it out. After loading the tool the IIS server started producing errors when the .asp pages tried to refresh. I think that the download tried to upgrade my web server. I removed the Visual Studio Express from my system. After numerous attempts to determine the source of the error (NOTE: No code was changed after the tool was loaded) I determined that the error happens when the characters “<><>” get posted during a refresh. NOTE: I use <><><><> in dynamically created pull downs as the default.
Ultimately the solution to the problem was simple, I just changed the default to be “---------“ in the pull downs versus “<><><><><>”
The Question is why did something that has worked 100% for over 9 years suddenly fail, and is there a configuration setting that I can change to have the server not error out on the <> characters.
A global search and replace will fix the problem, but this code sequence and subsequent logic are used in 100’s of places and that will be a tedious and time consuming task.
I know that ASP.Net has a ValidateRequest property which won't allow certain characters in certain places to prevent some hacking exploits. This is by default turned on. And I believe IIS 7 (possibly 6 also) treats all sites like an ASP.Net application to some degree (uses a web.config file). This isn't a verified fact, but I have web.config files show up even when I am testing an site with just .html files.
In ASP.Net you can change the ValidateRequest=true (default) property to ValidateRequest=false in the web.config file. That would probably stop the server side validation from happening and allow your defaults to go through.
Add <pages validateRequest="false" /> in system.web section of the web.config.
It's probably treating the angle brackets as potential cross-site scripting attacks - by default these days asp.net (I know you're using ASP, not ASP.NET) will throw an exception about a "Potentially dangerous postback" when you submit a string with angle brackets.
Is it possible that by installing VS (and therefore the DotNet framework) you've set the website that hosts these pages to use ASP.NET?
Have you tried removing the ASP.NET registration from that site? You can do this by running aspnet_regiis with the "-ua" switch. This command line tool can be found in:
C:\Windows\Microsoft.NET\Framework[vX.YYY]\
Where X.YYY is either 1.1.4322 or 2.0.50727

Classic ASP Error 405

I have several development sites on my wix XP laptop (all classic asp). Doe anyone know why i need to type localhost/site/default.asp (i keep getting a 405 error on iis 5.1) and not just localhost/site
You need to add "Default.asp" as a default document. From this page ...
With iis 4.0 and iis 5.0 the change is
performed as follows:
Start the Internet Service Manager (Start - Programs - Administrative
Tools - Internet Services Manager).
Expand the computer and select the web site.
Right click on it and select Properties.
Select the documents tab.
Check the Enable default document box and click Add to add a new default
name. The order of the search can be
changed by clicking the up and down
arrows.
Click Apply and then OK.
Per comment ... okay, check your script map settings, per this article.
Sounds like you need to configure your default document type in IIS to be default.asp.
First off we need to clear up the web site thing. You only have one web site, the default web site. (It is possible to munge the metabase on XP to create multiple web sites but IIS 5.1 will only serve one of them, the others will have to be stopped).
You have multiple applications which are virtual directories under a common default website.
Have you checked that Default.asp is in the list of default documents for the application not the website? In IIS manager open properties dialog on each applications virtual directory and check the config there.
If you have then you've got a strange one on your hands. At this point I would always advise checking permissions. Does the application allow anonymous access, if so does the anonymous user have access to the folder and files?
This might seem strange advice since accessing the default.asp directly works but in my experience when the configuration looks good and should work but isn't 90% of the time its the result of permissions not correctly set up.
A 405 http response status code means "Method Not Allowed". The Wikipedia article List of HTTP Status Codes has this definition for the error:
A request was made of a resource using
a request method not supported by that
resource; for example, using GET on
a form which requires data to be
presented via POST, or using PUT on a
read-only resource.
You can try the third XP PRO IIS Admin, which can add more than one site to the IIS 5.1, you can switch the site with no difficulty.

Resources