Spring boot - безопасность Spring за обратным прокси-сервером Apache

Чтобы вставить json в вашу базу данных, не конвертируйте его в объект Python; просто сохраните строку как прочитанную из файла.

with open(peripheralsJsonFile).read() as f:
    peripheralsInfo = f.read()

myquery = """INSERT INTO hw_info(hostname, peripheralsInfo) VALUES(%s,%s)""" 

cursor.execute(myquery, (hostname, peripheralsInfo))

Если вы хотите использовать данные в своей программе позже, вы передадите строку из запроса SELECT через json.loads(), чтобы сделать ее Python object.

EDIT

Два замечания здесь.

  1. prefipheralsInfo = open(peripheralsJsonFile).read() не закрывает файл после чтения, поэтому я использовал контекстный менеджер , который позаботится об этом за кулисами.
  2. Вы форматируете строку запроса, используя интерполяцию строк Python. Это делает вашу программу уязвимой для SQL-инъекций . В моем примере я использую параметр параметризованный запрос , чтобы обойти эту уязвимость. Параметры также помогают убедиться, что ваш вход передан вашей БД в качестве правильного типа данных.

2
задан Lempkin 19 January 2019 в 15:38
поделиться

1 ответ

На самом деле я нашел решение, если оно может кому-то помочь:

Vhost должен быть:

ProxyPreserveHost On
...
ProxyPass /auth https://127.0.0.1:8081/auth
ProxyPassReverse /auth https://127.0.0.1:8081/auth
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
...

И в application.properties:

server.servlet.context-path=/auth
server.use-forward-headers=true
0
ответ дан Lempkin 19 January 2019 в 15:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: