Bal*_*usC 18
我假设您正在使用JSP.
只在展示期间逃脱.那里的JSTL <c:out>标签是完全合适的.默认情况下,它会转义HTML实体.使用它来显示每个用户控制的输入,例如请求URL,请求标头和请求参数.
例如
<input type="text" name="foo" value="<c:out value="${param.foo}" />">
Run Code Online (Sandbox Code Playgroud)
不需要在输入期间转义.XSS不会损害原始Java代码或SQL数据库.另一方面,您还希望在数据库中保存未修改的数据,以便您仍然可以看到用户实际输入的内容,以便您可以在必要时对邮件用户执行社交操作.
如果您想知道在输入期间要逃避什么,那将是SQL注入.在这种情况下PreparedStatement,Statement只要您想在数据库中保存任何用户控制的输入,只需使用而不是常规.
例如
create = connection.prepareStatement("INSERT INTO user (username, password) VALUES (?, MD5(?))");
create.setString(1, username);
create.setString(2, password);
create.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11232 次 |
| 最近记录: |