Míreanna comhchosúla: Improving web application security:threats and countermeasures; patterns and practices