Чтоб устранить уязвимость - нужно знать как эта уязвимость устроена.
Проблема заключается в методе __reduce__ который можно передать, но если предварительно проверить сообщение на наличие reduce и забраковать если оно там есть - можно избежать проблем.
Суть вопроса (может не явно сказал) что возможно ли обойти этот простой код.
Pickle показывает самые высокие скорости упаковки/распаковки, я могу на этом выиграть очень много, начиная от времени упаковки, заканчивая размером упаковки.
Но вопрос в другом, можно ли таким кодом, закрыть ту уязвиомость.
@MarcusAurelius Я кажись ясно написал, что нам нужно хранить ОРИГИНАЛЫ писем. Мы их парсим и отдаем в нашу систему. Но если с парсингом будут проблемы, у нас есть исходник письма который мы сможем проверить.
А файловую систему не рассматриваем потому что читать вопрос нужно полностью, с начала до конца. Хранилище находится на другом компе и хочется юзать не ftp, а софт который точился на такие задачи.
@opium Что значит обошел, я их проходил в автоматическом режиме. У человека стоит вопрос в том, что ему нужно знать, что к его серверу обращаются с его JS клиента.
@miloshilya Я писал к вашему первому комментарию.
"@Zerstoren, а какой смысл в первом примере писать this.F2.bind(this)? Нельзя просто написать this.F2?"
@webinside дело в том, что Js не является классическим представителем ООП и Прототипного программирования. Тут смесь слона, мухи и котлеты.
У каждой функции есть объект prototype, который включает в себя список аттрибутов и методов, которые будут добавлены к экземпляру класса, после его инстанцирования через new Class();
Именно по этому нужно писать через prototype, есть конечно альтернативы, но в итоге они всё равно будут подключать к аттрибуту prototype.
@miloshilya потому что это javascript, почитайте сначала об этой долбнутом языке, чтоб понять зачем это. Ну серьезно, я не буду описывать все тонкие костыли языка. Погуглите про this у javascript.
Поддерживаю codemirror. Отличная вещь, работает красиво.
Особых тормозов не создает. Отличная подсветка синтаксиса, большое кол-во языков в комплекте. Много тем, от светлых, до темных. Много пунктов кастомизации, начиная от показа строчек, заканчивая установкой отступа.
Попробовал сам отправить сообщение к торнадо, такой-же месседж. В конце строки пишется IP.
Немного попробовал, оказывается когда я соединяюсь с сетью, у меня выделенный белый ай-пи. На который может постучать кто угодно.
Каким чудом они узнали про 8080 порт, остается только догадываться, ну да ладно.
Проблема заключается в методе __reduce__ который можно передать, но если предварительно проверить сообщение на наличие reduce и забраковать если оно там есть - можно избежать проблем.
Суть вопроса (может не явно сказал) что возможно ли обойти этот простой код.