We help IT Professionals succeed at work.

Getting OWA on exchange 2007  and captcha to work :(

Majicthise
Majicthise used Ask the Experts™
on
Been trying to implement this article
http://www.msexchange.org/articles-tutorials/exchange-server-2007/mobility-client-access/implementing-captcha-validation-owa-2007-authentication.html

I've followed the steps meticulously and I cant get it to work
When i go to https://mail.domain.com I get a blank page
Right click show content - no ASP file

But If I undo all the steps normal OWA resumes.
Right click - shows aspx file contents

Is there some sort of protection in IIS that does a checksum on the file or something?
It's driving me nuts!
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Distinguished Expert 2018

Commented:
I went ahead and did this and it worked for me. With that said, I see no benefit to adding captcha to OWA. FBA is already session based, so what added protection do you believe CAPTCHA gives you?
When it shows the blank page, do you see the yellow triangle script error warning in the browser status bar?

BTW, that is my article.  In answer to cgaliher, I was never sure that there was any benefit to this or not (I'm no security expert), but there were plenty of people asking about it, and very few other people mess about with OWA in this way, so it was a bit of a challenge.

Author

Commented:
I just wanted it added to give end users the feeling of an additional layer of security.
It doesn't do any harm.

There is now script error, It's jsut a totally blank page

Right click and I get four lines of html code

Author

Commented:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

Author

Commented:
Heres how the logon file endsup.
<%@ Page language="c#" AutoEventWireup="false" Inherits="Microsoft.Exchange.Clients.Owa.Core.Logon" %>
<%@ Import namespace="Microsoft.Exchange.Clients"%>
<%@ Import namespace="Microsoft.Exchange.Clients.Owa.Core"%>
<%@ Import namespace="Microsoft.Exchange.Clients.Owa.Premium"%>
<!-- {57A118C6-2DA9-419d-BE9A-F92B0F9A418B} --> 
<% if (!ReplaceCurrent) { %>
<html>
<head>
<link type="text/css" rel="stylesheet" href="<%=OwaUrl.ApplicationRoot.ImplicitUrl%><%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonCss);%>">
<link type="text/css" rel="stylesheet" href="<%=OwaUrl.ApplicationRoot.ImplicitUrl%>8.1.393.1/themes/base/<%= Utilities.GetDefaultCultureFontCssFileUrl(OwaContext) %>">
<script type="text/javascript" src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%>8.1.393.1/scripts/premium/flogon.js"></script>
<script type="text/javascript">
	<!--
	var a_fRC = 0;
	var a_sUrl = "&url=<%=Utilities.JavascriptEncode(Utilities.UrlEncode(Destination)) %>";
	var a_sCW = "<%=Utilities.JavascriptEncode(CloseWindowUrl) %>";
	var a_sLgnQS = "<% RenderLogonQueryString(); %>";
	-->
</script>
</head>
<body class="owaLgnBdy">
<noscript>
	<div id="dvErr">
		<table cellpadding="0" cellspacing="0">
		<tr>
			<td><img src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%><%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.Error);%>"></td>
			<td style="width:100%"><%=Utilities.GetNoScriptHtml() %></td>
		</tr>
		</table>
	</div>
</noscript>
</body>
</html>
<% } else { %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; CHARSET=utf-8">
<meta name="Robots" content="NOINDEX, NOFOLLOW">
<title><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.OutlookWebAccess) %></title>
<link type="text/css" rel="stylesheet" href="<%=OwaUrl.ApplicationRoot.ImplicitUrl%><%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonCss);%>">
<link type="text/css" rel="stylesheet" href="<%=OwaUrl.ApplicationRoot.ImplicitUrl%>8.1.393.1/themes/base/<%= Utilities.GetDefaultCultureFontCssFileUrl(OwaContext) %>">
<script type="text/javascript" src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%>8.1.393.1/scripts/premium/flogon.js"></script>

<script type="text/javascript">
	<!--
	var a_fRC = 1;
	var g_fFcs = 1;
	var a_fLOff = <%= (Reason == LogonReason.Logoff || Reason == LogonReason.ChangePasswordLogoff || Reason == LogonReason.Timeout) ? 1 : 0 %>;
	var a_fCAC = <%= ShouldClearAuthenticationCache ? 1 : 0 %>
/// <summary>
/// Is Mime Control installed?
/// </summary>
function IsMimeCtlInst(progid)
{
	var oMimeVer = null;

	try 
	{ 
		oMimeVer = new ActiveXObject(progid);
	} 
	catch (e)
	{ 
	}

	if (oMimeVer != null)
		return true;
	else
		return false;
}

/// <summary>
/// Render out the S-MIME control if it is installed.
/// </summary>
function RndMimeCtl()
{
	if (IsMimeCtlInst("MimeBhvr.MimeCtlVer"))
		RndMimeCtlHlpr("MimeNSe2k3", "D801B381-B81D-47a7-8EC4-EFC111666AC0", "MIMEe2k3", "mimeLogoffE2k3");

	if (IsMimeCtlInst("OwaSMime.MimeCtlVer"))
		RndMimeCtlHlpr("MimeNSe2k7sp1", "833aa5fb-7aca-4708-9d7b-c982bf57469a", "MIMEe2k7sp1", "mimeLogoffE2k7sp1");
}

/// <summary>
/// Helper function to factor out the rendering of the S/MIME control.
/// </summary>
function RndMimeCtlHlpr(objid, classid, ns, id)
{
	document.write("<OBJECT id='" + objid + "' classid='CLSID:" + classid + "'></OBJECT>");
	document.write("<?IMPORT namespace='" + ns + "' implementation=#" + objid + ">");
	document.write("<" + ns + ":Logoff id='" + id + "' style='display:none'/>");
}
	-->
</script>

</head>
<body class="owaLgnBdy<%=IsRtl ? " rtl" : ""%>">
<% 
	string tblStyle = "cellpadding=0 cellspacing=0";
	if (IsDownLevelClient)
	{
		tblStyle = "class=\"nonMSIE\"";
	}
%>
<% if (!IsDownLevelClient) { %>
<script language="javascript">
	RndMimeCtl();
</script>
<% } %>
<noscript>
	<div id="dvErr">
		<table cellpadding="0" cellspacing="0">
		<tr>
			<td><img src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%><%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.Error);%>" alt=""></td>
			<td style="width:100%"><%=Utilities.GetNoScriptHtml() %></td>
		</tr>
		</table>
	</div>
</noscript>
<form onsubmit="return doJcap();" method="POST" name="logonForm" autocomplete="off">
<input type="hidden" name="destination" value="<%=Utilities.HtmlEncode(Destination)%>">
<input type="hidden" name="flags" value="0">
<input type="hidden" name="forcedownlevel" value="0">
<table align="center" id="tblMain" cellpadding=0 cellspacing=0>
	<tr>
		<td colspan=3>
			<table cellspacing=0 cellpadding=0 class="tblLgn">
			<tr>
				<td class="lgnTL"><img src="/owa/<%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonTopLeft);%>" alt=""></td>
				<td class="lgnTM"></td>
				<td class="lgnTR"><img src="/owa/<%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonTopRight);%>" alt=""></td>
			</tr>
			</table>
		</td>
	</tr>
	<tr>
		<td id="mdLft">&nbsp;</td>
		<td id="mdMid">
			<table id="tblMid" class="mid">
				<tr>
					<td id="expltxt" class="expl">
					<%
					if (Reason == LogonReason.Logoff)
						Response.Write(LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogoffMessage));
					else if (Reason == LogonReason.Timeout)
						Response.Write(LocalizedStrings.GetHtmlEncoded(Strings.IDs.TimeoutMessage));
					else if (Reason == LogonReason.ChangePasswordLogoff)
						Response.Write(LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogoffChangePasswordMessage));
					%>					
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table <%=tblStyle%>>
						<col>
						<col class="w100">
						<tr id=trSec>
							<td colspan="2">								
								<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.Security) %> 
									<%=(IsRtl ? "&#x200F;" : "&#x200E;") + LocalizedStrings.GetHtmlEncoded(Strings.IDs.OpenParentheses) %>
									<a href="#" id="lnkShwSec" onclick="clkExp('lnkShwSec')">
									<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ShowExplanation) %> 
									</a>
									<a href="#" id="lnkHdSec" onclick="clkExp('lnkHdSec')" style="display:none">
									<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.HideExplanation) %> 
									</a>
								<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.CloseParentheses) + (IsRtl ? "&#x200F;" : "&#x200E;") %>
							</td>
						</tr>
							<script type="text/javascript" language="javascript" src="jcap/md5.js"></script>
							<script type="text/javascript" language="javascript" src="jcap/jcap.js"></script>
							<script type="text/javascript" language="javascript">                                                                                                                

						function doJcap()
						{
						if (jcap() == true)
						{document.forms[0].action = "owaauth.dll"; return true;}
						else
						return false
						}
						</script>
						<tr><td colspan="2" align="center">
						Enter the code as it is shown below
						<script language="JavaScript">sjcap();</script>
						<noscript>This resource requires a JavaScript enabled browser</noscript>
						</td></tr>
						<tr>
							<td><input id="rdoPblc" type="radio" name="trusted" value="0" class="rdo" onclick="clkSec()" checked></td>
							<td><label for="rdoPblc"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ThisIsAPublicOrSharedComputer) %></label></td>
						</tr>
						<tr id="trPubExp" class="expl" style="display:none">
							<td></td>
							<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PublicExplanation) %></td>
						</tr>
						<tr>
							<td><input id="rdoPrvt" type="radio" name="trusted" value="4" class="rdo" onclick="clkSec()"></td>
							<td><label for="rdoPrvt"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ThisIsAPrivateComputer) %></label></td>
						</tr>
						<tr id="trPrvtExp" class="expl" style="display:none">
							<td></td>
							<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateExplanation) %></td>
						</tr>
						<tr id="trPrvtWrn" class="wrng" style="display:none">
							<td></td>
							<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateWarning) %></td>
						</tr>
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table <%=tblStyle%>>
							<col>
							<col class="w100">
							<% if (!IsDownLevelClient) { %>	
								<tr>							
									<td><input id="chkBsc" type="checkbox" class="rdo" onclick="clkBsc();"></td>
									<td nowrap><label for="chkBsc"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.UseOutlookWebAccessBasicClient) %></label></td>
								</tr>
								<tr id="trBscExp" class="disBsc" style="display:none">
									<td></td>
									<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.BasicExplanation) %></td>
								</tr>
							<% } %>
							<% else { %>
								<tr>
									<td><input id="chkBsc" type="checkbox" class="rdo" onclick="clkBsc();" disabled checked></td>
									<td nowrap><label for="chkBsc"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.UseOutlookWebAccessBasicClient) %></label></td>
								</tr>
								<tr id="trBscExp" class="disBsc">
									<td></td>
									<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.BasicExplanation) %></td>
							</tr>
							<% } %>
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table <%=tblStyle%>>
							<col class="nowrap">
							<col class="w100">
							<col>
							<tr>
								<td nowrap><label for="username"><%=UserNameLabel%></label></td>
								<td class="txtpad"><input id="username" name="username" type="text" class="txt"></td>
							</tr>
							<tr>
								<td nowrap><label for="password"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon) %></label></td>
								<td class="txtpad"><input id="password" name="password" type="password" class="txt" onfocus="g_fFcs=0"></td>
							</tr>
							<tr>
								<td colspan=2 align="right" class="txtpad">
									<% if (!IsDownLevelClient) { %>
									<input type="submit" class="btn" value="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>" onclick="clkLgn()" 
										onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">
									</input>
									<% } %>
									<% else { %>
									<input type="submit" class="btn" value="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>" onclick="clkLgn()">
									<% } %>
									<input name="isUtf8" type="hidden" value="1">
								</td>
							</tr>
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<%
					if (Reason == LogonReason.InvalidCredentials) {
				%>
					<tr id="trInvCrd" class="wrng">
					<td><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.InvalidCredentialsMessage) %></td>
				</tr>
				<% } %>
			</table>
			<table id="tblMid2" class="mid" style="display:none">
				<tr><td><hr></td></tr>
				<tr>
					<td><br><%=string.Format(LocalizedStrings.GetHtmlEncoded(Strings.IDs.CookiesDisabledMessage), "<br><br>") %><br><br><br></td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td align="right" class="txtpad">
					<% if (!IsDownLevelClient) { %>
						<input type="button" class="btn" style="float: right" value="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.Retry) %>" onclick="clkRtry()" 
						onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">
					<% } %>
					<% else { %>
						<input type="button" class="btn" style="float: right" value="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.Retry) %>" onclick="clkRtry()">
					<% } %>
					</td>
				</tr>
			</table>
			<table class="mid tblConn">
				<tr>
					<td rowspan=2 align="right" class="tdConnImg"><img style="vertical-align:top" src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%><%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonExchangeLogo);%>" alt=""></td>
					<td class="tdConn"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ConnectedToExchange)%></td>
				</tr>
				<tr>
					<td class="tdCopy"><%=String.Format(LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogonCopyright), "&copy;")%></td>
				</tr>
			</table>
		</td>
		<td id="mdRt">&nbsp;</td>
	</tr>
	<tr>
		<td colspan=3>
			<table cellspacing=0 cellpadding=0 class="tblLgn">
			<tr>
				<td class="lgnBL"><img src="/owa/<%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonBottomLeft);%>" alt=""></td>
				<td class="lgnBM"></td>
				<td class="lgnBR"><img src="/owa/<%ThemeManager.RenderBaseThemeFileUrl(Response.Output, ThemeFileId.LogonBottomRight);%>" alt=""></td>
			</tr>
			</table>
		</td>
	</tr>
</table>
</form>
<% if (!IsDownLevelClient) { %><iframe src="<%=OwaUrl.ApplicationRoot.ImplicitUrl%>auth/preload.htm" style="display:none"></iframe><% } %>
</body>
</html>
<% } %>

Open in new window

Author

Commented:
Working normally OWA right click in web page give this
<!-- Copyright (c) 2006 Microsoft Corporation.  All rights reserved. -->
<!-- OwaPage = ASP.auth_logon_aspx -->

<!-- {57A118C6-2DA9-419d-BE9A-F92B0F9A418B} --> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; CHARSET=utf-8">
<meta name="Robots" content="NOINDEX, NOFOLLOW">
<title>Microsoft Exchange - Outlook Web Access</title>
<link type="text/css" rel="stylesheet" href="/owa/8.1.240.5/themes/base/logon.css">
<link type="text/css" rel="stylesheet" href="/owa/8.1.240.5/themes/base/owafont.css">
<script type="text/javascript" src="/owa/8.1.240.5/scripts/premium/flogon.js"></script>

<script type="text/javascript">
	<!--
	var a_fRC = 1;
	var g_fFcs = 1;
	var a_fLOff = 0;
	var a_fCAC = 1
/// <summary>
/// Is Mime Control installed?
/// </summary>
function IsMimeCtlInst(progid)
{
	var oMimeVer = null;

	try 
	{ 
		oMimeVer = new ActiveXObject(progid);
	} 
	catch (e)
	{ 
	}

	if (oMimeVer != null)
		return true;
	else
		return false;
}

/// <summary>
/// Render out the S-MIME control if it is installed.
/// </summary>
function RndMimeCtl()
{
	if (IsMimeCtlInst("MimeBhvr.MimeCtlVer"))
		RndMimeCtlHlpr("MimeNSe2k3", "D801B381-B81D-47a7-8EC4-EFC111666AC0", "MIMEe2k3", "mimeLogoffE2k3");

	if (IsMimeCtlInst("OwaSMime.MimeCtlVer"))
		RndMimeCtlHlpr("MimeNSe2k7sp1", "833aa5fb-7aca-4708-9d7b-c982bf57469a", "MIMEe2k7sp1", "mimeLogoffE2k7sp1");
}

/// <summary>
/// Helper function to factor out the rendering of the S/MIME control.
/// </summary>
function RndMimeCtlHlpr(objid, classid, ns, id)
{
	document.write("<OBJECT id='" + objid + "' classid='CLSID:" + classid + "'></OBJECT>");
	document.write("<?IMPORT namespace='" + ns + "' implementation=#" + objid + ">");
	document.write("<" + ns + ":Logoff id='" + id + "' style='display:none'/>");
}
	-->
</script>

</head>
<body class="owaLgnBdy">

<script language="javascript">
	RndMimeCtl();
</script>

<noscript>
	<div id="dvErr">
		<table cellpadding="0" cellspacing="0">
		<tr>
			<td><img src="/owa/8.1.240.5/themes/base/error.gif" alt=""></td>
			<td style="width:100%">To use Microsoft Outlook Web access, browser settings must allow scripts to run. For information about how to allow scripts, consult the Help for your browser. If your browser does not support scripts, you can download <a href="http://www.microsoft.com/windows/ie/downloads/default.mspx">Microsoft Internet Explorer</a> for access to Outlook Web Access.</td>
		</tr>
		</table>
	</div>
</noscript>
<form action="owaauth.dll" method="POST" name="logonForm" autocomplete="off">
<input type="hidden" name="destination" value="https://dingmail.rjmcleod.co.uk/owa">
<input type="hidden" name="flags" value="0">
<input type="hidden" name="forcedownlevel" value="0">
<table align="center" id="tblMain" cellpadding=0 cellspacing=0>
	<tr>
		<td colspan=3>
			<table cellspacing=0 cellpadding=0 class="tblLgn">
			<tr>
				<td class="lgnTL"><img src="/owa/8.1.240.5/themes/base/lgntopl.gif" alt=""></td>
				<td class="lgnTM"></td>
				<td class="lgnTR"><img src="/owa/8.1.240.5/themes/base/lgntopr.gif" alt=""></td>
			</tr>
			</table>
		</td>
	</tr>
	<tr>
		<td id="mdLft">&nbsp;</td>
		<td id="mdMid">
			<table id="tblMid" class="mid">
				<tr>
					<td id="expltxt" class="expl">
										
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table cellpadding=0 cellspacing=0>
						<col>
						<col class="w100">
						<tr id=trSec>
							<td colspan="2">								
								Security 
									&#x200E;(
									<a href="#" id="lnkShwSec" onclick="clkExp('lnkShwSec')">
									show explanation 
									</a>
									<a href="#" id="lnkHdSec" onclick="clkExp('lnkHdSec')" style="display:none">
									hide explanation 
									</a>
								)&#x200E;
							</td>
						</tr>						
						<tr>
							<td><input id="rdoPblc" type="radio" name="trusted" value="0" class="rdo" onclick="clkSec()" checked></td>
							<td><label for="rdoPblc">This is a public or shared computer</label></td>
						</tr>
						<tr id="trPubExp" class="expl" style="display:none">
							<td></td>
							<td>Select this option if you use Outlook Web Access on a public computer. Be sure to log off when you have finished using Outlook Web Access and close all windows to end your session.</td>
						</tr>
						<tr>
							<td><input id="rdoPrvt" type="radio" name="trusted" value="4" class="rdo" onclick="clkSec()"></td>
							<td><label for="rdoPrvt">This is a private computer</label></td>
						</tr>
						<tr id="trPrvtExp" class="expl" style="display:none">
							<td></td>
							<td>Select this option if you are the only person who uses this computer. Your server will allow a longer period of inactivity before logging you off.</td>
						</tr>
						<tr id="trPrvtWrn" class="wrng" style="display:none">
							<td></td>
							<td>Warning:  By selecting this option, you confirm that this computer complies with your organization's security policy.</td>
						</tr>
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table cellpadding=0 cellspacing=0>
							<col>
							<col class="w100">
								
								<tr>							
									<td><input id="chkBsc" type="checkbox" class="rdo" onclick="clkBsc();"></td>
									<td nowrap><label for="chkBsc">Use Outlook Web Access Light</label></td>
								</tr>
								<tr id="trBscExp" class="disBsc" style="display:none">
									<td></td>
									<td>The Light client provides fewer features and is sometimes faster. Use the Light client if you are on a slow connection or using a computer with unusually strict browser security settings. If you are using a browser other than Internet Explorer 6 or later, you can only use the Light client.</td>
								</tr>
							
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td>
						<table cellpadding=0 cellspacing=0>
							<col class="nowrap">
							<col class="w100">
							<col>
							<tr>
								<td nowrap><label for="username">Domain\user name:</label></td>
								<td class="txtpad"><input id="username" name="username" type="text" class="txt"></td>
							</tr>
							<tr>
								<td nowrap><label for="password">Password:</label></td>
								<td class="txtpad"><input id="password" name="password" type="password" class="txt" onfocus="g_fFcs=0"></td>
							</tr>
							<tr>
								<td colspan=2 align="right" class="txtpad">
									
									<input type="submit" class="btn" value="Log On" onclick="clkLgn()" 
										onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">
									</input>
									
									<input name="isUtf8" type="hidden" value="1">
								</td>
							</tr>
						</table>
					</td>
				</tr>
				<tr><td><hr></td></tr>
				
			</table>
			<table id="tblMid2" class="mid" style="display:none">
				<tr><td><hr></td></tr>
				<tr>
					<td><br>Please enable cookies for this web site.<br><br>Cookies are currently disabled by your browser. Outlook Web Access requires that cookies be enabled. <br><br>If you are using Microsoft Internet Explorer 6 or later, open Internet Options from the Tools menu. Click the Privacy tab, and then click Sites. Type the address for Outlook Web Access into the field, click Allow, and then click OK to save your changes.<br><br><br></td>
				</tr>
				<tr><td><hr></td></tr>
				<tr>
					<td align="right" class="txtpad">
					
						<input type="button" class="btn" style="float: right" value="Retry" onclick="clkRtry()" 
						onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">
					
					</td>
				</tr>
			</table>
			<table class="mid tblConn">
				<tr>
					<td rowspan=2 align="right" class="tdConnImg"><img style="vertical-align:top" src="/owa/8.1.240.5/themes/base/lgnexlogo.gif" alt=""></td>
					<td class="tdConn">Connected to Microsoft Exchange</td>
				</tr>
				<tr>
					<td class="tdCopy">&copy; 2007 Microsoft Corporation. All rights reserved. </td>
				</tr>
			</table>
		</td>
		<td id="mdRt">&nbsp;</td>
	</tr>
	<tr>
		<td colspan=3>
			<table cellspacing=0 cellpadding=0 class="tblLgn">
			<tr>
				<td class="lgnBL"><img src="/owa/8.1.240.5/themes/base/lgnbotl.gif" alt=""></td>
				<td class="lgnBM"></td>
				<td class="lgnBR"><img src="/owa/8.1.240.5/themes/base/lgnbotr.gif" alt=""></td>
			</tr>
			</table>
		</td>
	</tr>
</table>
</form>
<iframe src="/owa/auth/preload.htm" style="display:none"></iframe>
</body>
</html>

Open in new window

Can you find IIS log entries from when it works, and when it doesn't?

Author

Commented:
IIS logs tend to be pretty darn unwieldy especially for exchange
I'll have a look tomorrow though and have a trawl through it.
Look (in Notepad) for you initial GET request for /Exchange, and then we'll look at the following entries.  Note that the times are in GMT.

Author

Commented:
OK

What I noticed is with the changed aspx file, the url
https://server.domain.com/owa becomes
https://server.domain/owa/auth/logon.aspx?url=https://server.domain.com/owa&reason=0

While with the normal file generates this
https://server.domain.com/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fserver.domain.co.uk%2fowa

If I then try this url with the revised aspx I still egt the error
IIS log not showing errors?


.
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-02 07:15:31 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:15:31 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 46
2010-07-02 07:15:31 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 124
2010-07-02 07:15:53 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:15:55 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 1950
2010-07-02 07:16:19 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:16:19 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 904
2010-07-02 07:16:21 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 124
2010-07-02 07:17:11 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:17:11 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 483
2010-07-02 07:17:15 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:17:15 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 78
2010-07-02 07:18:49 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 46
2010-07-02 07:18:49 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 873
2010-07-02 07:18:50 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 124
2010-07-02 07:18:57 172.16.128.3 POST /owa/auth/owaauth.dll - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 302 0 0 31
2010-07-02 07:18:57 172.16.128.3 GET /owa - 443 rjmcleod\dslupek 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 301 0 0 124
2010-07-02 07:19:03 172.16.128.3 GET /owa/ &prfltncy=5257&prfrpccnt=27&prfrpcltncy=78&prfldpcnt=3&prfldpltncy=0&prfavlcnt=0&prfavlltncy=0 443 rjmcleod\dslupek 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 5304
2010-07-02 07:20:24 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:20:24 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 483
2010-07-02 07:20:42 172.16.128.3 GET /owa/auth - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 301 0 0 31
2010-07-02 07:20:42 172.16.128.3 GET /owa/auth/ - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 403 14 0 78
2010-07-02 07:20:48 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 468
2010-07-02 07:20:51 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:20:51 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 78
2010-07-02 07:21:18 172.16.128.3 GET /owa - 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 401 2 5 31
2010-07-02 07:21:18 172.16.128.3 GET /owa/auth/logon.aspx url=https://server.domain.com/owa&reason=0 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 842
2010-07-02 07:21:19 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 140
2010-07-02 07:22:47 172.16.128.3 POST /EWS/Exchange.asmx SoapAction=GetUserOofSettingsResponse;MailboxRPCRequests=10;MailboxRPCLatency=15;ADRequests=3;ADLatency=16;TimeInGetUserOOFSettings=72; 443 RJMCLEOD\DBROWN 172.16.35.212 Microsoft+Office/12.0+(Windows+NT+5.1;+Microsoft+Office+Outlook+12.0.6425;+Pro) 200 0 0 811
2010-07-02 07:22:49 172.16.128.3 POST /EWS/Exchange.asmx SoapAction=GetUserOofSettingsResponse;MailboxRPCRequests=10;MailboxRPCLatency=0;ADRequests=3;ADLatency=0;TimeInGetUserOOFSettings=15; 443 RJMCLEOD\DBROWN 172.16.35.212 Microsoft+Office/12.0+(Windows+NT+5.1;+Microsoft+Office+Outlook+12.0.6425;+Pro) 200 0 0 733
2010-07-02 07:22:51 172.16.128.3 POST /EWS/Exchange.asmx SoapAction=GetUserOofSettingsResponse;MailboxRPCRequests=10;MailboxRPCLatency=0;ADRequests=3;ADLatency=15;TimeInGetUserOOFSettings=15; 443 RJMCLEOD\DBROWN 172.16.35.212 Microsoft+Office/12.0+(Windows+NT+5.1;+Microsoft+Office+Outlook+12.0.6425;+Pro) 200 0 0 733
2010-07-02 07:27:05 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 405
2010-07-02 07:28:18 172.16.128.3 GET /owa/auth/logon.aspx replaceCurrent=1&url=https%3a%2f%2fserver.domain.com%2fowa 443 - 172.16.32.2 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+MS-RTC+LM+8) 200 0 0 499

Open in new window

Can you email me your changed file, so that I can try it here? Address is
email [at] leederbyshire [dot] com

Author

Commented:
Will do - thanks

Author

Commented:
Emailed it to you...

Author

Commented:
Code worked at Lee's end.
Split it up into smaller chunks and pasted a block at a time.
Works perfectly.

No real explanation as to why it wasnt working, but it is now.

Top bloke :)