Note that there are some explanatory texts on larger screens.

plurals
  1. POIt is reasonable to implement security in a web app after implementing its main features?
    primarykey
    data
    text
    <p>Excuse me if this seems too vague to be posted on Stackoverflow.</p> <p>My company hired three developers to implement a classified ads system, using PHP and MySQL. They’ve been working for little more than a month, without using a framework (they argued against using one) and basic functionality has been implemented (user registration and authentication, ads listing and filtering, etc). However, a cursory testing shows that the system is vulnerable to common malicious exploits (CSRF, XSS, local file inclusion). </p> <p>After examining the code, I realized they didn’t implement data validation procedures on the server side (they merely use a regex for validating a mail address and mysqli_real_escape_string() to sanitize strings against SQL injections). They implemented some validation routines but on the client side, with JavaScript. Obviously, that’s part of the UI and doesn’t offer any kind of security against malicious users. </p> <p>They argue that since three developers are insufficient for developing a full webapp from scratch (I agree), they’re going to implement features first and then securing them properly, in order to meet certain deadlines. I’m not an experienced programmer by any measure, but I believe is going to take longer to implement security <em>a posteriori</em>. Moreover, if they manage to do it somehow, it’s going to be subpar compared to data sanitization routines implemented from the beginning. </p> <p>So, my questions are: (i) it is reasonable to implement security (ie, implement at least proper sanitization routines) after implementing features? (ii) If the answer for (i) is “no”, what bibliography, security frameworks (but I guess they’re embedded in web frameworks as such), etc. would you recommend for managing projects where security was poorly handled?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload