小编Sub*_*lil的帖子

jar如何在使用它的Web应用程序中传播漏洞?

我有一个Spring MVC受Spring Security保护的Web应用程序.生活似乎很平静,直到我被迫做了一个Static Application Security Testing (SAST),这个工具引发了一堆安全问题.看看这里:

在此输入图像描述

我已经浏览了所有CVE,并对漏洞进行了粗略描述.我有几个问题:

  1. 当像(Spring Security)这样的安全框架与它集成时,Web应用程序如何容易受到这种攻击?

  2. 我可以忽略所有这些漏洞,因为Spring Security可能会针对所有这些漏洞采取某种解决方法吗?

spring jar spring-mvc spring-security

12
推荐指数
1
解决办法
334
查看次数

AES_ENCRYPT/AES_DECRYPT 中不正确的字符串值错误

我正在向自己介绍 MYSQL 中的加密功能。

刚刚写了一个简单的 SQL 语句,将加密的条目添加到字段中

INSERT INTO test_table (field1) VALUES(aes_encrypt('fieldentry','password'))
Run Code Online (Sandbox Code Playgroud)

当我执行 SQL 时,出现以下错误

错误 1366:不正确的字符串值:'\xC7\xE13\xC4\xF4!...' 列 'field1' 在第 1 行 SQL 语句 - CHANGE COLUMN field1VARCHAR(255) NOT NULL COMMENT ''

现在我读到它可能与 CHARACTER SET 有关系,并尝试将其从 utf8-default collat​​ion 更改为 utf8mb4 - 按照推荐的默认排序规则,但这没有任何区别。

我还尝试将列类型从 VARCHAR 更改为 VARBINARY。但是,当我尝试以下操作来检索数据时,SQL 语句成功运行:

SELECT AES_DECRYPT(field1, '12345') AS endata FROM test_table
    Do Until rst.EOF 
        Response.Write(rst("endata"))
        rst.movenext
    Loop
Run Code Online (Sandbox Code Playgroud)

循环运行但没有返回值(空行)

我只是在寻找一个简单的加密内容,然后使用 AES_ENCRYPT/AES_DECRYPT 函数中的密码解密我的数据。

mysql sql encryption encoding aes

5
推荐指数
1
解决办法
6632
查看次数

SUM()在MySQL中不起作用:SUM()与DISTINCT

我有4个表,称为商店,用户,评论和评级.

我想获得相应商店的所有评论,包括评论的用户详细信息以及该商店的整体评分.

我几乎完成了单个查询.但问题是,如果商店对同一用户进行多次相同评级,则将其视为单一评级.但该评级数是正确的.

在此输入图像描述

从该表中,user_id 3被评为shop_id 1为4次.因此计数为4,total_rating为17.

我的疑问是

select review.comments, users.username, count(distinct rating.id) as rating_count,
sum(distinct rating.rating) as total_rating from users 
left join review on users.id = review.user_id and review.shop_id='1' 
left join rating on users.id = rating.user_id and rating.shop_id='1' 
where review.shop_id='1' or rating.shop_id='1' 
group by users.id, review.user_id, rating.user_id, review.id
Run Code Online (Sandbox Code Playgroud)

当我运行此查询时,我得到了

在此输入图像描述

但我需要total_rating 17 for user_id 3 ..

检查这个小提琴

php mysql

5
推荐指数
1
解决办法
224
查看次数

无法在单元测试中使用自定义弹簧转换器

我正在使用简单的转换器将字符串转换为枚举。这是自定义转换器:

@Component
public class SessionStateConverter implements Converter<String, UserSessionState> {

    @Override
    public UserSessionState convert(String source) {
        try {
            return UserSessionState.valueOf(source.toUpperCase());
        } catch (Exception e) {
            LOG.debug(String.format("Invalid UserSessionState value was provided: %s", source), e);

            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我PathVariable在我的休息控制器中使用 UserSessionState 。实现按预期工作。但是,当我尝试对其余控制器进行单元测试时,似乎转换不起作用并且它没有命中控制器方法。

@RunWith(MockitoJUnitRunner.class)
public class MyTest {
private MockMvc mockMvc;

@Mock
private FormattingConversionService conversionService;

@InjectMocks
private MynController controller;


@Before
public void setup() {
    conversionService.addConverter(new SessionStateConverter());
    mockMvc = MockMvcBuilders.standaloneSetup(controller).setConversionService(conversionService).build();
}


 @Test
public void testSetLoginUserState() throws Exception {
    mockMvc.perform(post("/api/user/login"));
}
Run Code Online (Sandbox Code Playgroud)

}

在调试模式下,我收到以下错误: …

java spring spring-mvc spring-boot

5
推荐指数
2
解决办法
3295
查看次数

使用查询工具在pgAdmin 4中查询时设置默认模式

每当我必须执行sql命令时,pgAdmin 4我都必须附加schema_name表格。例如:-

SELECT * FROM my_schema.users //where myschema is schema name
ORDER BY id ASC  
Run Code Online (Sandbox Code Playgroud)

pgAdmin 4通过预先设置默认架构,有没有办法在没有架构名称的情况下执行sql命令。

像这样的东西

SELECT * FROM programme
ORDER BY id ASC 
Run Code Online (Sandbox Code Playgroud)

-不使用表指定架构名称。

有没有一种方法可以pgAdmin 4在SQL工具中设置默认架构以 进行查询?

postgresql pgadmin

4
推荐指数
1
解决办法
7911
查看次数

在android中记录调用为什么这不起作用

我正在从MainActivity启动一项服务,该服务无限期地运行以查找传入和传出的记录.

为什么示例"switch-case"不起作用?

没有错误发生,但我只能记录每个传入和传出.

录制呼叫后服务将被终止,它将被重新创建START_STICKY但永远不会开始.

请帮忙.提前致谢!


是否还有其他代码记录android中的传入和传出呼叫?

package com.exampled.demoserv;

import java.io.File;
import java.io.IOException;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.MediaRecorder;
import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.widget.Toast;


public class ParentalService extends Service 
{
    @Override
    public void onCreate()
    {
        //Toast.makeText(getApplicationContext(), "Service Created", Toast.LENGTH_SHORT).show();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId)
    {
        // TODO Auto-generated method stub
        //Toast.makeText(getApplicationContext(), "Subu's Monitoring sTARTED", Toast.LENGTH_SHORT).show();
        startMonitor();
        return START_STICKY_COMPATIBILITY;
    }

    @Override
    public IBinder onBind(Intent arg0)
    { …
Run Code Online (Sandbox Code Playgroud)

android audio-recording switch-statement call-recording

3
推荐指数
1
解决办法
6929
查看次数

如何在构造函数中使用@Autowired bean?

这是我的课,

public class MyBusinessException extends RuntimeException {
    @Autowired
    private MessageSource messageSource;

    private String errorCode;

    private String messageInEnglish;

    public MyBusinessException(String errorCode){
       this.errorCode=errorCode;
       this.messageInEnglish=messageSource.getMessage(this.code,null, Locale.ENGLISH);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个异常类。当我将它errorCode作为参数传递给构造函数时,它应该填充错误消息,这就是我要寻找的。事实上,我想像这样实例化类

throw new MyBusinessException("MY-ERROR-CODE");//want to initiate like this(only one argument for constructor)
Run Code Online (Sandbox Code Playgroud)

如何实现这样的目标?

到目前为止,我已经尝试了所有这些:

  1. 构造函数自动装配。
  2. 使用 @PostConstruct

java spring annotations spring-boot

2
推荐指数
1
解决办法
1398
查看次数