In this chapter, we continued our discussion of ways to secure our web applications and their operating environment. We specifically looked at ways of securing the software and hardware on which these web applications will run.
With these previous two chapters, we have covered a broad set of security topics and concerns. While the goal has not been to terrify you into viewing the Internet as an awful place, the reality is that we must prepare for the problems we will face.
Over the past few chapters, we have largely presented theoretical topics on the subject of web applications. Combined with the knowledge we learned in the first 10 chapters on using PHP and relational database management servers, we now have a solid foundation with which to start implementing web applications.
In the next chapter, we will begin by looking at some of the practical considerations that go into handling errors in our web applications and how we might go about debugging problems we encounter. Robust error handling and problem solving are critical to the stability and long-term success of all of our web applications.