Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to drop/discard a Request in ASP.NET?

Tags:

asp.net

I'm trying to figure out how to drop/discard a request, I'm basically trying to implement a blocked list of IPs in my app to block spammers and I don't want to return any response (just ignore the request), is this possible in ASP.NET?

Edit: Some of the answers suggest that I could add them in the firewall, while this will certainly be better it's not suitable in my case. To make a long story short, I'm adding a moderation section to my website where moderators will check the posts awaiting moderation for spam (filtered by a spam fitler), I want the IP of the sender of some post to be added to the list of blocked IPs once a post is marked as spam by the moderator, this is why I wan to do it in the application.

Edit: Calling Response.End() returns a response to the user (even though it's empty), the whole purpose of my question was how not to return any response. Is this possible (even out of curiosity)? There's also Response.Close() which closes the socket but it sends notification (in TCP/IP) when it does this, I just wan to ignore as it if was never received (i.e. send nothing to the user)

Thanks

like image 434
Waleed Eissa Avatar asked Nov 10 '08 02:11

Waleed Eissa


2 Answers

For this type of thing, I would go with an HTTP Module as opposed to doing this with a handler or a page.

Why use a module instead of a handler? An HTTP Module is called earlier in the request pipeline. For these type of blacklisted requests, you want to drop the request as early and fast as possible. This means the earlier in the request you can drop the request, the better.

You can read a little more about Modules vs Handlers here.

like image 83
Jason Jackson Avatar answered Sep 18 '22 23:09

Jason Jackson


Maybe you could use

Response.Clear();
Response.End();
like image 41
John Boker Avatar answered Sep 19 '22 23:09

John Boker