1. Python / Говнокод #28622

    −9

    1. 1
    саша степуро негр

    правда

    sashastepuronegro, 04 Марта 2023

    Комментарии (4)
  2. Python / Говнокод #28621

    −8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 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

    Комментарии (3)
  3. Python / Говнокод #28618

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 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

    Комментарии (12)
  4. Python / Говнокод #28586

    0

    1. 1
    print(str(n := int(input())) * 0, sum([(-1) ** i * 1 / (2 ** i) for i in range(n)]), sep='')

    fec60394, 04 Февраля 2023

    Комментарии (1)
  5. Python / Говнокод #28585

    0

    1. 1
    print(str(n := int(input())) * 0, sum([(-1)  i * 1 / (2  i) for i in range(n)]), sep='')

    Сократил xD

    fec60394, 04 Февраля 2023

    Комментарии (0)
  6. Python / Говнокод #28531

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 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

    Комментарии (41)
  7. Python / Говнокод #28524

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 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

    Комментарии (82)
  8. Python / Говнокод #28520

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 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

    Комментарии (4)
  9. Python / Говнокод #28503

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 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

    Комментарии (9)
  10. Python / Говнокод #28439

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 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

    Комментарии (14)