Как фрилансер, я наследую много плохо разработанных пользовательских веб-проектов. Большинство из этих проектов не защищают от внедрения XSS и SQL. В некоторых из этих проектов я был единственным разработчиком более 1 года. Когда клиенты просят меня добавлять новые функции, я делаю это без существенных изменений в базовой системной архитектуре.
Так, например, если клиент попросил меня создать страницу регистрации с ограниченным бюджетом, я делаю это повторно с использованием системных объектов доступа к данным, которые не препятствуют внедрению SQL, и я предоставляю страницы с помощью системы View Objects которые не дезактивируют код для XSS.
Если в более поздний момент хакер использует эти нарушения безопасности на странице регистрации, могу ли я привлечь к ответственности? Я никогда не просил переписать системы Data Access Objects или View Objects. И поскольку клиент находится на ограниченном бюджете, они не будут платить мне, чтобы написать новый DAO или View для системы. Так ли это автоматически становится моей ошибкой в тот день, когда я решил наследовать такой катастрофический проект?
А что, если есть другие части системы, которые я редко касался? Возможно, я добавил изменить текст в представлениях или добавил новый оператор if
в контроллере. Как только я "коснулся" чего-то, значит ли это, что я несу ответственность за весь модуль, пока не уйду из проекта?