-
−8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
print('1 часть тут, 2 в описании')
import re
q = int(input())
b = input()
v = 0
flag = True
if v == 0:
c = len(re.findall('q', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('w', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('e', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('r', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('t', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('y', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('u', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('i', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('o', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('p', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('a', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('s', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('d', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('f', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('g', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('h', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('j', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('k', b))
if c > 1:
print("NO")
flag = False
quit
else:
v = 3
c = len(re.findall('l', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('m', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('n', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('b', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('v', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('c', b))
if c > 1:
print("NO")
flag = False
quit()
else:
v = 3
c = len(re.findall('x', b))
if c > 1:
flag = False
quit()
print("NO")
else:
v = 3
c = len(re.findall('z', b))
if c > 1:
flag = False
print("NO")
quit()
else:
v = 3
if flag == True:
print("YES")
sashastepuronegro,
04 Марта 2023
-
−1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
def auth_2FA(request):
mail = request.POST.get('mail')
user = User.objects.get(email=mail)
code2FA = request.POST.get('code2FA')
if pyotp.TOTP(user.secret).verify(code2FA):
auth.login(request, user)
return redirect(settings.HOME_PAGE)
else:
...
# Безопасность
Django, двухфакторка.
Защиты от перебора нет, пароль не проверяется. Зная только mail можно залогиниться перебрав код из 6 цифр
Doorman5302,
01 Марта 2023
-
0
- 1
print(str(n := int(input())) * 0, sum([(-1) ** i * 1 / (2 ** i) for i in range(n)]), sep='')
fec60394,
04 Февраля 2023
-
0
- 1
print(str(n := int(input())) * 0, sum([(-1) i * 1 / (2 i) for i in range(n)]), sep='')
Сократил xD
fec60394,
04 Февраля 2023
-
−2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
key_base_len = random.randint(30,61)
key_base = bytearray(key_base_len)
for i in range(key_base_len):
key_base[i] = random.randint(0,255)
key = bytearray(8)
key[0] = chip_uid_chksum ^ key_base[ 4 * (key_base_len // 7)]
key[1] = chip_uid_chksum ^ key_base[ key_base_len // 5 ]
key[2] = chip_uid_chksum ^ key_base[ key_base_len // 7 ]
key[3] = chip_uid_chksum ^ key_base[ 6 * (key_base_len // 7)]
key[4] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 7)]
key[5] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 5)]
key[6] = chip_uid_chksum ^ key_base[ 5 * (key_base_len // 7)]
key[7] = (chip_id + key[0]) & 0xff
return key, key_base
Китайцы и криптография.
Сначала программатор отдаёт контроллеру key_base, а затем юзает key чтобы ксорить с ним заливаемую прошивку.
bormand,
31 Декабря 2022
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
def __get_column_names(table: str) -> tuple:
try:
with conn:
cur.execute("SELECT name FROM PRAGMA_TABLE_INFO(?)", (table,))
column_names = cur.fetchall()
except Exception as excpt:
print(excpt)
column_names = tuple(i[0] for i in column_names)
return column_names
def db_register_user(user_data: types.User):
"""
SQL запрос для внесения данных о пользователе
Args:
user_data: telebot User объект, содержащий словарь с параметрами пользователя
"""
user_data = user_data.to_dict()
column_names: tuple = __get_column_names('Users')
user_values = tuple(user_data.get(key) for key in column_names if key in user_data)
try:
with conn:
query = 'INSERT INTO Users cn'.replace('cn', str(column_names))+' VALUES (?,?,?,?,0,3)'
parameters = (*user_values,)
conn.execute(query, parameters)
except Exception as excpt:
print(excpt)
conn.close()
На сколько в такой ситуации .format не безопасен? Идея в том, чтобы не объебошится программисту в коде введя неверное значение колонки. Для этого имена колонок берутся из самой базы (есть мысль ещё и типы брать). Есть вариант реализации получше? Спасибо
rockkley94,
26 Декабря 2022
-
0
- 1
- 2
- 3
- 4
- 5
from db.session import DB
session = DB.session()
session.query(Prefix).filter(Prefix.user_id==user_id, Prefix.prefix.ilike('%your persona:%')).delete()
session.commit()
storvus,
21 Декабря 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
#!/usr/bin/env python3
import sys
import socket
def main():
if len(sys.argv) != 2:
print("Программа ожидает 1 аргумент: доменное имя хоста")
return 1
# Input.
host_name = sys.argv[1]
print(f"Доменное имя хоста: {host_name}")
host_ip = socket.gethostbyname(host_name)
print(f"IP-адрес хоста: {host_ip}")
host_port = 33433
timeout = 2 # Seconds.
receiving_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)
receiving_socket.setsockopt(socket.SOL_IP, socket.IP_HDRINCL, 1)
receiving_socket.settimeout(timeout)
receiving_socket.bind(("", host_port))
sending_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sending_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
received_ip = None
current_hop = 1
max_hop = 100
while received_ip != host_ip and current_hop < max_hop:
sending_socket.setsockopt(socket.IPPROTO_IP, socket.IP_TTL, current_hop)
sus = True
for i in range(7):
try:
sending_socket.sendto(bytes(str(current_hop), 'utf-8'), (host_ip, host_port))
data, addr = receiving_socket.recvfrom(1)
if addr:
received_ip = addr[0]
print(f"hop: {current_hop} -> {received_ip}")
sus = False
break
else:
raise "sus"
except:
continue
if sus:
print(f"hop: {current_hop} -> *")
current_hop += 1
if __name__ == "__main__":
main()
Что-то я давно не заходил... был занят, писал утилиту. Лицензия – «MIT».
JloJle4Ka,
18 Декабря 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
def make_coffie(water_amount: int = 0) -> object:
class Coffie_Constructor:
def __init__(self, beans_amount: int = 0):
self.water_amount = water_amount
self.beans_amount = beans_amount
def __call__(self, milk_amount: int = 0) -> int:
return self.water_amount + self.beans_amount + milk_amount
def __repr__(self) -> str:
return 'Not enought call brakets were given'
return Coffie_Constructor
print(make_coffie(120)(50)(50))
rockkley94,
09 Ноября 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
#Ввод пользователем шахматной клетки
chess_cell = input("Введите шахматную клетку ")
horizontal_chess = chess_cell[0] #присовение в переменную буквы клетки
vertical_chess = int (chess_cell[1]) #присовение в переменную цифры клетки
#Вычисление условий для определения цвета ячейки
if vertical_chess > 8:
print ("Число клетки не может быть больше 8! ") #Условие ограничивающее количество клеток по вертикали
elif horizontal_chess != "a" and horizontal_chess != "A" and horizontal_chess != "b" and horizontal_chess != "B"\
and horizontal_chess != "c" and horizontal_chess != "C" and horizontal_chess != "d" and horizontal_chess != "D"\
and horizontal_chess != "e" and horizontal_chess != "E" and horizontal_chess != "f" and horizontal_chess != "F"\
and horizontal_chess != "g" and horizontal_chess != "G" and horizontal_chess != "h" and horizontal_chess != "H":
print ("такой буквы ячейки не существует!") #Условие ограничивающее количество букв по горизонтали
elif horizontal_chess == "a" or horizontal_chess == "A" or horizontal_chess == "c" or horizontal_chess == "C"\
or horizontal_chess == "e" or horizontal_chess == "E" or horizontal_chess == "g" or horizontal_chess == "G":
if vertical_chess%2 == 1:
print ("ячейка черная ")
else:
print ("ячейка белая") #определение цвета клеток в вертикали А, C, E, G
elif horizontal_chess == "b" or horizontal_chess == "B"or horizontal_chess == "d" or horizontal_chess == "D"\
or horizontal_chess == "f" or horizontal_chess == "F" or horizontal_chess == "h" or horizontal_chess == "H":
if vertical_chess%2 == 0:
print ("ячейка черная ")
else:
print ("ячейка белая") #определение цвета клеток в вертикали B, D, F, H
Определение цвета ячейки шахматной доски. Перевести букву в число с помощью ord()? Не, это мы не проходили.
govnobot,
26 Октября 2022