问题描述
如何通过以下方法删除SQL盲注入?
def self.with_translation_value_of_language_id_eq(language_id)
joins('LEFT JOIN BOTranslationValue on BOTranslationToken.id = BOTranslationValue.boTranslationTokenID '\
"AND BOTranslationValue.languageID = #{language_id}")
.select('BOTranslationToken.*,BOTranslationValue.value as current_language_value')
end
我尝试过sanitize_sql_array
,但是它不起作用。
以及以下方式
def self.with_translation_value_of_language_id_eq(language_id)
joins('LEFT JOIN BOTranslationValue on BOTranslationToken.id = BOTranslationValue.boTranslationTokenID '\
"AND BOTranslationValue.languageID = ?" language_id )
.select('BOTranslationToken.*,BOTranslationValue.value as current_language_value')
end
我尝试了多种方法,但没有一个起作用。
有人可以帮我吗?
解决方法
您忘记在procedure TMainForm.IdTCPSyncServerConnect(AContext: TIdContext);
var
AClientIP: string;
begin
AClientIP := AContext.Binding.PeerIP;
TThread.Synchronize(nil,procedure
var lItem : TListItem;
begin
Inc(FClientCount);
lblClientConnections.Caption := IntToStr(FClientCount);
lItem := lstClients.Items.Add;
lItem.Caption := AClientIP;
lItem.SubItems.Add(AClientIP);
lItem.SubItems.Add(DateTimeToStr(Now));
end
);
end;
之后添加逗号,
,并且您没有传递正确的where条件,假设?
和BOTranslationValue
是正确的表名,请尝试下面的查询:
BOTranslationToken