Я немного смутился тем, как работает обычная функция python, называемая raw_input.Переполнение буфера Защитные механизмы в Python
У меня нет никаких ограничений на использование input however many chars I want here. Кроме того, функция help не запрашивает максимальное количество символов в качестве аргумента, как показано ниже (это позволяет пользователю вводить подсказку).
raw_input(...)
raw_input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped. If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.On Unix, GNU readline is used if enabled. The prompt string, if given, is printed without a trailing newline before reading.
Как Python остановить переполнение буфера атаки или любую попытку поглотить избыточную память в сценарии, где данные считываются в от пользователя в виде строки - который является в основном массив символов - как показано ниже ???
>> r=raw_input("enter something:")
enter something: dfjdfldfkdflkjdflkdjflkjfdlfdjklfdkjfdlkjfdlkfjdlkdfjlfdj.....
>> print r
dfjdfldfkdflkjdflkdjflkjfdlfdjklfdkjfdlkjfdlkfjdlkdfjlfdj.....
Спасибо и наилучшие пожелания,
Джона
Пожалуйста, обновите, кстати, эквивалент в современном Python называется 'input()' then. Не утруждайте себя изучением устаревшего языка. –
@UlrichEckhardt да забыть python 2.7, потому что, как и C, это устаревший язык, и нет смысла изучать его, но он его использует; и как для C все эти сумасшедшие предсказания сбылись .... C# для всех !!! –
user1514631
Вопрос OP относится к Python 3 'input()'; давайте не будем вдаваться в аргумент Python 2 vs Python 3. –