Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.
Для Ex:
SqlConnection connection = null;
connection.Open();
Когда вы запускаете это кода, вы получите:
System.NullReferenceException: Object reference not set to an instance of an object.
Вы можете избежать этой ошибки, например, следующим образом:
if (connection != null){
connection.Open();
}
Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.
В общем случае достаточно иметь только один токен за сеанс , так называемый токен сеанса :
В целом , разработчикам нужно только генерировать этот токен один раз для текущего сеанса. После первоначальной генерации этого токена значение сохраняется в сеансе и используется для каждого последующего запроса до истечения срока действия сеанса.
blockquote>Если вы хотите еще больше повысить безопасность, вы можете использовать один токен на каждую форму / URL ( токен для каждой формы ) для смягчения воздействия, когда утечка одного токена (например, g1] XSS ), поскольку злоумышленник сможет только успешно атакуйте эту конкретную форму / URL.
Но используя токены для каждого запроса , i. е. маркеры, которые меняются с каждым запросом, скорее сокращают удобство использования веб-сайта, так как ограничивают параллельный просмотр:
Чтобы еще больше повысить безопасность этого предлагаемого дизайна, рассмотрите возможность рандомизации токена CSRF [...] для каждого запрос. Внедрение этого подхода приводит к генерации токенов для каждого запроса, в отличие от токенов для каждого сеанса. Обратите внимание, однако, что это может привести к проблемам удобства использования. Например, функция браузера кнопки «Назад» часто препятствует, поскольку предыдущая страница может содержать токен, который больше недействителен. Взаимодействие с этой предыдущей страницей приведет к ошибочному событию безопасности CSRF на сервере.
blockquote>Поэтому я рекомендую вам использовать токены для каждого сеанса или токены для каждой формы.
Нет, вам просто нужно генерировать токен для каждого сеанса .
Токены очень маловероятны, чтобы случайно просочиться от пользователей, а генерация токена на форму делает вещи очень сложны, если пользователь просматривает сайт в двух разных вкладках / окнах одновременно.