我想检查我的输入字符串的潜在SQL-注入。
下面是我的类、方法和查询:
public class UserNamesQuery {
public static String getUserNames(Map<String, Object> params) {
String userNames = (String) params.get("userNames");
return "SELECT * FROM users WHERE name IN (" + userNames + ") ";
}
目标:动态生成对SQL注入的PreparedStatement免疫。
// This is a bad method. SQL injection danger . But it works
private PreparedStatement generateSQLBad(Connection connection, String tableName,
String columnName, String columnType) throws SQLException {
String sql = "create table "
我已经用我的代码做了相当多的研究和准备,试图防止SQL注入,但我想讨论一些我不太确定的事情。
我知道mysqli_real_escape_string不转义_(下划线)和%(百分号)字符。如果我在SQL语句中没有使用任何LIKE子句,这会给我带来任何风险吗?
下面是我感兴趣讨论的一个实例的示例。这是我正在使用的登录脚本。我希望确保我不会在这里暴露出任何注入漏洞。您的见解和反馈将不胜感激。
// Initiate login process if the mode is set to login
if ($_REQUEST['mode'] == "login")
这段代码不受SQL注入的影响吗?为什么?
public void AddPlayer(string username)
{
var query = "INSERT INTO dbo.Player(Username, RegisterDate) VALUES(@Username, @RegisterDate)";
using (var connection = new SqlConnection(connectionString))
using (var command = new SqlCommand(query, con
既然我使用PDO来防止SQL注入,我是否仍然需要应用PHP的数据过滤器来确保输入的格式是正确的?PDO能保护所有类型的注射吗?
$STH = $DBH->prepare("SELECT * from jem WHERE email=? AND pass=? LIMIT 0,1");
任何有关登录脚本的更多提示都将是帮助。
正如我在很多文章中读到的,当我使用JPA/Hibernate查询时,最好在查询中设置参数,这样就可以避免SQL注入。像这样:
select user from User user where user.name = :name and user.surname = :surname
我的问题是,在某些情况下,我需要在创建查询时使用原生查询。
我将使用我的实体管理器和createNativeQuery。但在这种情况下,参数将是位置参数。像这样:
select * from users where user_name = ? and user_surname = ?
然后在我的查询中,我将使用方法
我正在开发一个应用程序在vb.net和access作为后端
在搜索表单中,我有六个控件- loanno、name、contact、sname、vno、vname。我想在任何给定的组合场景中搜索数据。我的搜索查询如下
If lno_txt.Text = "" And pname_txt.Text = "" And con_txt.Text = "" And sname_txt.Text = "" And vname_txt.Text = "" And vno_txt.Text = "" Then
我有一个很好的下拉列表工作,这是从一个表的团队(FK)填充。唯一不起作用的是将数据添加到匹配中。我一直收到以下错误:
- team_home not set
- team_away not set
- Notice: Undefined index: team_home in vvo/insertmatch.php on line 28
- Notice: Undefined index: team_away in vvo/insertmatch.php on line 28
- Error: You have an error in your SQL syntax; check t
我使用Dapper来处理sql数据库。我在我的网站项目中有一些搜索逻辑。
我的搜索得到字符串参数的列表。
//filter is list of strings
var sql = new StringBuilder();
sql.Append("SELECT LibraryDocumentId FROM LibraryDocumentKeywords WHERE ");
sql.Append(string.Join("OR ", filter.Select(f => string.Format("LOWER(Keyword) LIKE
这段代码容易受到SQL注入的影响吗?
function SaveUser($usu,$pass,$name){
$sql="insert into usuarios(USU,PASS,NOMBRE,ESTADO)
values('$usu',md5('$pass'),'$name','$apellido2','A')";
...
}
这是在存储过程中,并且不起作用(我是指在exec部件上):
ALTER PROCEDURE [sp_SalerTickets_AddByTemp]
@Filter varchar(8000),
@UserID int
AS
if (len(@Filter) = 0)
return
declare @ID varchar(10)
set @ID = convert(varchar(10), @UserID)
exec('insert into T_ActionTicketSale(ActionTicketID, UserID)