Для двух функций ниже функция A использует функцию B и принимает тот же аргумент - $ input. Должен ли этот аргумент ввода $ обрабатываться в пределах A или внутри B? Или он должен быть дезинфицирован в обоих? (избыточно?)Для двух функций (один используется внутри другого) с тем же аргументом ввода, где для дезинфекции входного аргумента?
Какая лучшая практика кодирования? Благодаря!
function A($input) {
// Sanitize $input here?
B($input);
// Does its own thing
}
function B($input) {
// Sanitize $input here?
// eg. SQL statement using the $input
eg. "SELECT * FROM table1 WHERE column1 = $input"
}
Редактировать: Я сделал это немного более конкретным, чтобы вы знали, что делает функция B. (предположим, например, что он использует $ input как часть оператора SQL.
Это зависит, но если вы когда-либо называете 'B', тогда вам нужно хотя бы сделать это. – AbraCadaver
Почему бы не дезинфицировать его вне функций? – Ananth
Трудно ответить конкретно, не зная ничего о том, что делают эти функции. Этот вопрос имел бы гораздо больший смысл, был ли он менее общим. – CBroe