Jump to content


 


Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Photo

creating my own web server with ASP.net support


  • Please log in to reply
14 replies to this topic

#1 chromebuster

chromebuster

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 16 August 2010 - 07:28 PM

Hi all,
If you want to know one thing I hate, it's the use of standards for certain things that have been around ever since the early 1990's. I know that there are many web servers out there, the most common of which are Apache and IIS. I also know that they both support ASP.net. I am currently learning the C# language through books, articles, and tutorials. My goal among many, when I become fluent enough in the language and others that go with it, (SQL, XML, AutoIt Script, VBScript, and JScript), is to fix some things that i don't like. I'd like to one day create an open source web server that has all the support a person who wants to host their own web site would need, AKA ASP.net support, PHP support, static HtML support, and CGI scripts if they're still being used when the time comes. And you can't forget the security features like TLS, blocking of malicious URL's and bad requests. I know that Microsoft doesn't have anything against other third-party web servers supporting their technologies, so what I'm asking the community is, what would I need to be able to implement these things? How does one create applications with ASP.net support? I know there are so many other web servers out there, but most of them don't quite have the customization features I want nor do they support the most current stuff out there. Is this possible with help from others on the open source community? is this a good project idea? Do I sound crazy? If so, please let me know. Thanks for all your assistance in advance. Any recommendations would be great.

Chromebuster

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


BC AdBot (Login to Remove)

 


#2 Billy O'Neal

Billy O'Neal

    Visual C++ STL Maintainer


  • Malware Response Team
  • 12,304 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Redmond, Washington
  • Local time:12:16 AM

Posted 16 August 2010 - 09:34 PM

Yes, IMHO, you sound sort of crazy here. Apache and IIS (and to a lesser extent, Lighttpd or nginx) have well tested codebases, are installed on hundreds of thousands if not millions of machines, and they all have security holes, bugs, and other such things to deal with on a regular basis. The two major webservers are maintained by hundreds, if not thousands of developers.

You should almost never roll your own crypto algorithms, making getting things like TLS right difficult.

The major servers (IIS and Apache) support all of the features you mentioned out of the box.

Your aversion to things developed in the early nineties simply doesn't make sense. TCP/IP and HTTP themselves were developed in the seventies and eighties, as are the foundations of most ideas in Computer Science. For the most part, if you can name it, someone in the seventies and eighties probably came up with it first. Don't reinvent the wheel on everything.

If Apache or IIS are not customizable enough for your needs ( which I highly doubt -- I suggest you take a long hard look at their documentation -- there's little you can't make these servers do ), then I would start with Apache as a base and patch in the customization you need. That way you don't have to reinvent the wheel on everything else. But if you can't customize these servers for your needs, you probably need to do less in the core of the web server. If it's customizable enough for the likes if Youtube, Google, Facebook, etc. then I fail to see what could possibly *not* be doable with existing servers.

Use existing and well tested code bases. There is more time invested in those codebases then you could invest in your entire life, even if you coded 24 hours a day for the rest of your life.

Billy3
Twitter - My statements do not establish the official position of Microsoft Corporation, and are my own personal opinion. (But you already knew that, right?)
Posted Image

#3 Romeo29

Romeo29

    Learning To Bleep


  • Members
  • 3,194 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:127.0.0.1
  • Local time:02:16 AM

Posted 16 August 2010 - 10:07 PM

Well Billy said it all. But for fun sake, you can create your own tiny web server to feed HTML web pages. I did 2-3 years ago in C language using Windows API :thumbsup:

You need to know HTTP response codes : http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
And sockets programming : http://www.sockets.com/winsock.htm

Make an app that opens a socket at port 80 and listens. When someone connects and requests using GET or POST, respond with appropriate response code.

You would love to see how web servers (sites) and a browser talk with each other : http://www.fiddler2.com/fiddler2/

Two things you need to know is that a web server need s to be able to receive connections from many people and that it should respond very fast.

About ASP.net, PHP or other server side scripts, you have to parse the web page before sending it.

#4 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 17 August 2010 - 12:44 AM

Thanks. I'm sorry for what I said about the early 1990's. You're absolutely right, that was wrong of me. But then how do all of the already proposed projects on sites like source forge come about and get tested so well? I mean, those members who come to be a part of each and every one of those projects, they don't know each other, do they? And what I meant about TLS, I'm saying that I'd use the technology already provided in the open SSl libraries. I'm forgetting the names of those two files. It was just an idea really. My friend likes it.

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#5 Billy O'Neal

Billy O'Neal

    Visual C++ STL Maintainer


  • Malware Response Team
  • 12,304 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Redmond, Washington
  • Local time:12:16 AM

Posted 17 August 2010 - 04:37 PM

So, avoid the perfectly working TLS implementation in a working web server because you don't like that the web server is old, yet you are perfectly okay to use the just as old OpenSSL library?

Those members who come to be a part of each and every one of those projects, they don't know each other, do they

They have to know each other to some extent -- you can't just write a chunk of code and expect it to be immediately committed to Apache's mainline without some form of review.

Billy3
Twitter - My statements do not establish the official position of Microsoft Corporation, and are my own personal opinion. (But you already knew that, right?)
Posted Image

#6 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 17 August 2010 - 05:05 PM

Well, aren't those open TLS libraries there for anyone to use in their projects? and isn't the beauty of source forge, if you didn't know how to do something yourself, you can learn it from the community as well as the support staff there?

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#7 Billy O'Neal

Billy O'Neal

    Visual C++ STL Maintainer


  • Malware Response Team
  • 12,304 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Redmond, Washington
  • Local time:12:16 AM

Posted 17 August 2010 - 09:19 PM

Yes -- I just don't understand why you'd build your own http server component on top of OpenSSL when there already is one -- Apache. (and mod_ssl)

Billy3
Twitter - My statements do not establish the official position of Microsoft Corporation, and are my own personal opinion. (But you already knew that, right?)
Posted Image

#8 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 19 August 2010 - 02:48 PM

I guess the only answer I can give you is that I don't give up on my dreams.

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#9 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 04 September 2010 - 03:01 PM

But I'm still wondering about this though. One person's not going to stop me from doing this when I have the knowledge, time, and the chance. What is the file needed to create applications that can support ASP.net?

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#10 groovicus

groovicus

  • Security Colleague
  • 9,963 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Centerville, SD
  • Local time:01:16 AM

Posted 05 September 2010 - 10:26 AM

What do you mean by 'support'? Have you done any research at all? Typing how do I run ASP into a search engine would seem a perfectly logical place to start.

Edited by groovicus, 05 September 2010 - 10:26 AM.


#11 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 05 September 2010 - 06:41 PM

I've tried that on Bing. All I can seem to get is how to run applications built with ASP.net on IIS, not how to build applications with features that allow you to host Applications. It's been done before, but there's really not enough information from the sites I've been on. And the inspiration I'm getting to do this is that Microsoft themselves have been telling us from the beginning that ASP.net can indeed run independent of IIS, some people have done it, so why not join the crowd? Their only issue is that they won't admit it on their own message boards. I would assume that since the .net framework is full of cool things, I'm sure there's the dynamic linked library in there that gives ASP.net support to applications. a good example is Abyss web server, which supports some ASP.net features, but not all. I can't find anything that seems to make reference to the .net framework, so maybe I'll just have to keep looking further, and if you folks see anything, please let me know.

Thanks,
Chromebuster

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#12 Romeo29

Romeo29

    Learning To Bleep


  • Members
  • 3,194 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:127.0.0.1
  • Local time:02:16 AM

Posted 05 September 2010 - 07:14 PM

Article : http://msdn.microsoft.com/en-us/magazine/cc188791.aspx

Edit : Source code is available on the same page.

Edited by Romeo29, 06 September 2010 - 07:47 AM.


#13 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 06 September 2010 - 12:08 AM

ah, so if I were to take a look at that code, then I could use it as a guide to start my own project?

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge


#14 Romeo29

Romeo29

    Learning To Bleep


  • Members
  • 3,194 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:127.0.0.1
  • Local time:02:16 AM

Posted 06 September 2010 - 07:48 AM

ah, so if I were to take a look at that code, then I could use it as a guide to start my own project?

I hope so.

I thought you already had finished your web server project and you only wanted to add support for ASP.net.
Do you have anything started yet? In what language are are coding your web server?

Edited by Romeo29, 06 September 2010 - 07:49 AM.


#15 chromebuster

chromebuster
  • Topic Starter

  • Members
  • 899 posts
  • OFFLINE
  •  
  • Gender:Female
  • Location:the crazy city of Boston, In the North East reaches of New England
  • Local time:03:16 AM

Posted 06 September 2010 - 10:44 AM

@Romeo29
,Oh no. definitely not. I'm just trying to think of the future and what kind of projects I'd like to pursue with C#. I think this would be a downright cool one, don't you? I am in no way good enough to do this yet, but it's a thought. I mean, why not? The guys at Aprelium did, so why not implement something that has some of the features that Abyss doesn't have eventually? And in a language not as common? I'm sure that the code of the Cassini web server will help me in this, but to get the other parts of it, like SSL/TLS I'm sure I'll have to go somewhere deeper. But for the ASP.net engine, I think it's good. Once I get proficient in C#, I'll collect some books on Network programming in the language. I once had a very good one, but NOD32 took it, I'm sorry to say. But thanks for the link! I'm such an idiot not to realize that the stuff I was looking for was in that project all along!

The AccessCop Network is just me and my crew. 

Some call me The Queen of Cambridge





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users