小编Gop*_*opi的帖子

使用 Python 装饰器重试请求

我的脚本中有多个函数可以执行 REST API api 请求。由于我需要处理错误场景,因此我采用了如下的重试机制。

no_of_retries = 3
def check_status():
    for i in range(0,no_of_retries):
        url = "http://something/something"
        try:
            result = requests.get(url, auth=HTTPBasicAuth(COMMON_USERNAME, COMMON_PASSWORD)).json()
            if 'error' not in result:
                return result
            else:
                continue
        except Exception as e:
            continue
    return None
Run Code Online (Sandbox Code Playgroud)

我有几种不同的方法可以执行类似的操作。我们如何更好地避免重复的方法可能是使用装饰器。

python python-requests

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

Java正则表达式,以防止SQL注入

在我的burp suite测试期间,即使在使用预准备语句之后,该工具也会报告一些SQL注入漏洞

例如:

SELECT address, state, status, plan, remarks, FROM archive  
LEFT OUTER JOIN site_mappings ON site_dn = mrbts AND
siteid = id where ((UPPER(technology) like 
UPPER(?)))

 ps.setString(1, "%" +value+ "%");
Run Code Online (Sandbox Code Playgroud)

下面是该工具使用的几个SQL注入字符串

1. '%2b(select*from(select(sleep(20)))a)%2b'

2. '

3. "
Run Code Online (Sandbox Code Playgroud)

我有过滤功能白色列出值并提高SQLException以防止注入.

Pattern pattern = Pattern.compile("['\"*$]");
        Matcher matcher = pattern.matcher(value);
        if (matcher.find()) {
            throw new SQLException("Invalid filter value");
        }
Run Code Online (Sandbox Code Playgroud)

它不起作用'%2b(select*from(select(sleep(20)))a)%2b'.

问题详情:

有效载荷'+(select*from(select(sleep(20)))a)+'已在参数中提交.应用程序花了20011毫秒来响应请求,而原始请求的响应时间为24毫秒,表明注入的SQL命令导致了时间延迟.

如何创建正则表达式以防止SQL注入?

java regex sql-injection

5
推荐指数
0
解决办法
1528
查看次数

将字符串列表转换为python中的列表

我有一个字符串如下

val = '["10249/54","10249/147","10249/187","10249/252","10249/336"]'
Run Code Online (Sandbox Code Playgroud)

我需要解析它并取/之后的值,并放入列表,如下所示

['54','147','187','252','336']
Run Code Online (Sandbox Code Playgroud)

我的代码[a[a.index('/')+1:] for a in val[1:-1].split(',')]

输出['54"', '147"', '187"', '252"', '336"']

它也有双引号“这是错误的。我尝试如下

c = []
for a in val[1:-1].split(','):
    tmp = a[1:-1]
    c.append(tmp[tmp.index('/')+1:])
Run Code Online (Sandbox Code Playgroud)

输出:

['54', '147', '187', '252', '336']
Run Code Online (Sandbox Code Playgroud)

有什么更好的方法吗?

python string list

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

在奇数和偶数隔离列表中对奇数和偶数进行排序/分组

我有一个未排序的偶数和奇数数字列表。我需要按排序顺序分隔奇数和偶数。

例如:

List = [5,6,4,7,11,14,12,1,3]
Run Code Online (Sandbox Code Playgroud)

预期输出:

[4,6,12,14,1,3,5,7,11]
Run Code Online (Sandbox Code Playgroud)

我的程序用于分隔奇数和偶数。

L = [5,6,4,7,11,14,12,1,3]
def segregateEvenOdd(L):
    left,right = 0,len(L)-1
    while left < right:
        while (L[left]%2==0 and left < right):
            left += 1
        while (L[right]%2 == 1 and left < right):
            right -= 1
        if (left < right):
            L[left],L[right] = L[right],L[left]
            left += 1
            right = right-1

print segregateEvenOdd(L)

output : [12, 6, 4, 14, 11, 7, 5, 1, 3]
Run Code Online (Sandbox Code Playgroud)

我试图使用插入排序对列表进行排序,但无法获得正确的输出。有什么方法可以轻松排序

python sorting

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

标签 统计

python ×3

java ×1

list ×1

python-requests ×1

regex ×1

sorting ×1

sql-injection ×1

string ×1