Для ввода электронной почты пользователем в текстовом поле, я выполняю проверку на стороне клиента, чтобы определить, является ли электронная почта действительной или нет.
string emailexist = "SELECT COUNT(DISTINCT UserID) as count FROM tbl_user WHERE Email=@Email ";
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" ValidationGroup="Login" ControlToValidate="txtUserName"
ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" CssClass="Error"
runat="server" />
достаточно ли это регулярное выражение, чтобы предотвратить внедрение sql для электронной почты.
Другой текст:
string groupExistQuery = "SELECT COUNT(DISTINCT GroupID) as count FROM tbl_group WHERE GroupName=@GroupName";
Я делаю запрос на стороне сервера, чтобы проверить, есть ли имя группы, введенное пользователем, уже доступно в базе данных, существует сильная возможностьвыполнить инъекцию SQL здесь.Как мне предотвратить это?