Народ, интересно как это до меня решалось:
Пишу некоторые CGI ваяния, на С++ (я знаю что я извращенец итп), как мне избежать срыва стека если пользователь зашлет мне слишком много данных. Так получилось, что мне попадались в основном книги где это только упомяналось, но конкретных реализаций борьбы с этим злом не приводилось, может есть какие соображения на этот счет?
Здравствуйте, abb, Вы писали:
abb>Народ, интересно как это до меня решалось:
abb>Пишу некоторые CGI ваяния, на С++ (я знаю что я извращенец итп), как мне избежать срыва стека если пользователь зашлет мне слишком много данных. Так получилось, что мне попадались в основном книги где это только упомяналось, но конкретных реализаций борьбы с этим злом не приводилось, может есть какие соображения на этот счет?
Я думаю, не надо их класть в стек. Хип спасет.
Пользуюсь RSDN@Home 1.0 alpha 15, слушая The Neverhood — Mail Reading Room Music
Здравствуйте, Sinclair, Вы писали:
S>Я думаю, не надо их класть в стек. Хип спасет.
Вы можете прокомментировать ваш пост?
Здравствуйте, abb, Вы писали:
abb>Вы можете прокомментировать ваш пост?
Хороший пост, правильный.
Просто вот так:
int processUserInputRecursively(void)
{
char a[200];
cin >> a;
return processUserInput()+strlen(a);
}
делать не надо.
Надо вот так:
int processUserInputRecursively(void)
{
char *a = new char[200];
cin >> a;
int r = strlen(a);
delete[] a;
return processUserInput()+r;
}
Пользуюсь RSDN@Home 1.0 alpha 15, слушая Нега-Неголь