How To Filter Certain Things In Pages Served By IIS
Mar 19, 2010
I'll try to be short and get right to defining the problem. We have an ASP.NET 2 application (eCommerce package) running on IIS (Windows Server 2003). The main site's page(s) are using plain HTTP (no SSL), but the whole checkout process and the shopping cart page is using SSL (HTTPS). Now, the problem is that the site's header is located in a template file, and inside it it has a plain HTML 'img' tag calling an image with the "http://" portion hard-coded into it... This header appears on absolutely every page (including the https pages), and due to its insecure image tag, a warning box pops up in IE on every stage of the checkout process...
Now, the problem: The live application cannot be touched in any way (no changes can be made to the template (so simply changing "http://" to "//" is not an option), IIS cannot be restarted, and the website/app pool cannot be restarted). Is there any way in the world (maybe plugin for IIS or a setting somewhere) that I can filter the pages right before they are served to replace the '<img src="http://example.com/image.jpg">' with '<img src="//example.com/image.jpg">' in the final HTML? Possibly via a regular expression or something?
I have a website statistics program that creates .htm pages for viewing. Im trying to keep them in their own folder on the root - "Statistics"After reading many posts I have tried many iterations of:
[code]...
Problem is, an .aspx pages in there won't get served with login, but all the .htm pages will.
How can I Ensure That Secure Content Is Served Over HTTPS Only (IIS 6.0)? when the certificate is installed. In other words how can I direct all the http request to https. For example when some type http://localhost it redirects to https://localhost.
I have a bunch of internet devices which communicate with my MVC app on IIS 7.5. I'm currently using the built-in dynamic transparent compression (gzip/deflate).
I'd like to be able to support a different compression algorithm, which does a lot better than gzip (7zip) for the content I'm sending/receiving.
In other words, on the client I will add the header: accepts: gzip, deflate, 7zip (or similar), and the server will recognize this, and apply the best choice when sending the content.
What's the best way to go about hooking this all together? (I know how to implement the actual 7zip encode/decode aspect)
I realise that this is going to be a fairly niche requirement and will almost certainly raise a few "WTF's" but here goes...
Within an ASP.NET Webforms application I need to serve static content from a local client machine in order to reduce up-front bandwidth requirements as much as possible (Security policy has disabled all Browser caching). The idea is to serve CSS, images and JavaScript files from a location on the local file system referenced by filesystem links from within the Web application (Yes, I know, WTF's galore but that's how it is). The application itself will effectively be an Intranet app that's hosted externally from a client but restricted by IP range along with standard username/password security. So it's pretty much a hybrid Internet/Intranet application but we can easily roll out packages of files to client machines. I am not suggesting that we expect nor require public clients to download packages of files. We have control to an extent over the client machines in terms of the local filesystem and so on but we cannot change the caching policy.
We're using UpdatePanel controls to perform partial page updates which obviously means that we need to Microsoft AJAX JavaScript files. Presently these are being served (as standard) by a standard resource handler within IIS/ASP.NET. Ideally I would like to be able to take these JS files and reference them statically from a client machine, and no longer serve them via an AXD.
My questions are:Is this possible?If it is possible, how do we go about doing so?
In order to attempt to pre-empt some WTF's the requirement stems from attempting to service a requirement with as little time and effort as possible whilst a more suitable solution is developed. I'm aware that we can lighten the load, we can switch to jQuery AJAX updates, we can rewrite the front-end in MVC etc. but my question is related to what we can quickly deploy with our existing application architecture.
This seems as good a place as any for this question. It has to do with an .ASHX handler.
I have written a generic file serving handler in asp.net/vb.net - it has been working great. I recently moved to a windows 7 box and am now debugging under IIS7, and this is where the problems occure.
Whenever I serve a file to either FireFox or Chrome (IE8 works fine) from IIS 7, the download will fail.
- In FireFox the error is "[some file name and path].part could not be saved, because the source file could not be read." - In Chrome the error is "Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error." - In IE8 it works fine
If I run the same code in IIS6, it works fine. If I run the same code in the Visual Studio virtual web server, it works fine (on windows 7 or XP).
I am rather concerned about this as our production web server will soon be IIS7; which I'm starting to really love, and would hate to revert to IIS6 just because this won't work in IIS7.
Here is the code I'm using..I've tried a number of different patterns. It seems to always fail on the Flush() line with the error "System.Web.HttpException = {"The remote host closed the connection. The error code is 0x80070040."}"
One thing I have noticed, if I move the flush statment to the finally clause or remove it all together; firefox will attempt to read the entire file - it appears to be looping through the entire block of code just fine, until it hits the flush statement. If I remove the flush statment I still get an error and it still tries to read the entire file before asking me to save it.
--Edit: I removed the flush and tested again; firfox thinks it downloaded a zero byte file.
I'm assuming I just have some sort of header issue going on here, but I'm at a loss at this point as to what that would be.
In securing actions/controllers, do I have to create a custom filter or use MVC built-in filter?
To use the built-in attribute Authorize() on an action/controller or create a separate class that inherits the ActionFilterAttribute which has a method (OnActionExecuting) to override and do the authentication there?
I have 2 ActionResults both called Create which basically create different things on a model. Is there a way to have overridden action results? - I dont quite follow routing and not sure how to do what I'm trying to do.When creating A i call :-
AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(ProjectModel
In my organization we use nested groups. For a particular usage, we have a group (let's assume that the group name "kuku"), and the names of all the nested groups under it contains "kuku" as well.
We may assume that no other group in the LDAP has "kuku" in the name.
I need to create a filter which will return all the users which belong to one of the "kuku"s group.
Obviously, using this filter will bring only the head kukus
(&(&(objectclass=user)(objectclass=person))(memberOf=CN=kuku,cn=...rest of the group DN...))
How can I use wild card to fetch all users which belong to any kuku?
For example: (&(&(objectclass=user)(objectclass=person))(memberOf=CN=.*kuku.*))
I have decorated my base controller with a couple of action filters. They work fine.
One of those filters sets up the request - does things like set the culture based on the domain, etc.
I also have a handful of actions that require authorization using the Authorize attribute.
My problem is that when an user attempts to request a page they are not authorized to access, the authorization filter kicks in and redirects them to a page telling them that they cannot vie the page.
The issue is that the action filters never run so the culture and other request data is never set. This effectively causes language to be wrong in the view and other data to be missing.
I know that authorization filters run first but my question is this: How can I design this such that I can ensure that certain methods are always run before the view is returned, regardless of the authorization.
I have a layout problem where I canīt get things centered in a Table.What I first have created is a Table. Inside this table I have created a panel wich I like to be centered in this table so I have set it like this but still the panel is to the left in the table ? This is the first problem.
<td align="center">
Then I have TextBox77 that I like to be centered in this Panel9 wich it is, setting HorizontalAlign="Center"
So I would like this Panel9 to be centered in the Table but still the Panel is to the left in the Table ?
I'm curious, anyone know the mechanism a checkbox control uses to remember that its checked or not checked after a postback?If I add them manually to a page via html as in <input type="checkbox"/> I have to use javascript and hiddenfields to keep things checked after a postback and I would have to have an onclick="dosomething()" inside the tags.Viewing the html source code for a page with a .NET checkbox control, there is nothing like that there.
I was writing a custom control and rendered my own checkboxes when I came across this problem. After the postback, the control would reload the checkboxes from viewstate and forget the user had clicked anything. As I couldn't use hiddenfields to track the changes (they got reset from viewstate too), I ended up using .NET checkboxes as childcontrols instead but this experience got me thinking.
Might remember me being so enthusiastic about asp.net mvc a while back.Got a bit caught up in other things (more php, and dip in the Java pool), and completely stopped following the asp.net world a few months.Just curious how things evolved? Did MVC catch on (as I for one believed it would) or.... what?Cannot really post the reason for me asking this, but guess a safe way for me asking is: 2 guys with kick butt skills...one asp.net webforms masta, the other asp.net mvc .... who's the best off?
i have put a table in my page to put all the things in an order the goal is to have inside a big table two sub tables in two columns but the second sub table goes a lower than it has to be here is the code without details
What are the things to be done before hosting the website in internet server? All kinds of testing and defect fixing work are over for the website which is currently hosted in intranet server. We have the server informations for hosting the website and also the database details. We also have the list of third party controls/softwares which should be installed before going live!! What else to be done? The website is developed using Visual Studio 2008, SQL server 2008, ASP.Net framework 3.5 and C# language.
I am trying to get a unoranized (ul) list to center. It seems like I use text-align: center;, but for some reason it is not working. Is there some sort of horzontal align as there is vertical align.
I have noticed that writing to BIN folder of a website will slow the response of the site considerably down. Is there a reason for this? Is there a technical reason why we should not log to a file in the BIN folder?
My issue is similar to ASP.NET Debugging Timing out with IIS except that I'm using the built-in ASP.Net Development Server with VS 2010.If I pause for more than about 10 seconds in the debugger, IE7 "disconnects" from the web server with the error message Internet Explorer cannot display the webpageHowever, unlike in the similar question, the debugger is still running. If I refresh the browser it will post that refresh to the server and I can debug the page from the top again.
Is it possible to configure things so that IE7 waits (much) longer before giving up?If it makes a difference, I'm launching IE using the "Start external program" option and passing a localhost URL as the command line argument (since Chrome is my default browser). I also specify a specific port.
TreeView controls are a little Hairy when using them for display of things like Hierarchical data.In my case, I am using it for the display of Roots and Leaf Nodes (Child Nodes) and everything in between to get chains of selected nodes back to the Root Node (final Parent Node) in a detail list that is another database call for the Detail Sheet on the"Checked" boxes of chained branches in the TreeView.
I'm trying to use images representing arrows to allow the user to change the order in which items appear in a list in a grid view in ASP.NET.
I have a class which has a value named "position", the class is displayed inside the GridView and is ordered by position. In each of the rows of the gridview are an up and down arrow which i want to change the value of "position" for the object represent by the row of the gridview. Whats the easiest way to do this?
Is there a way to translate things which are sitting in Microsoft.Web.Helpers.dll? For example: to upload file tghe FileUploadHelper gets called and user is presented with two edit boxes plus 'Browse...' and 'Upload' buttons and 'Add more files' label - all this I'd like to translate as it looks really weird if I mix the languages on website.
I would like to set cache- control on a folder of images in a web application . In that way i can cache the images and the web pages will load a lot quicker . I can specify this in IIS by putting a ISAPI extension , but how can i do the same thing in asp.net application, ie create that setting in IIS when the application first starts up .