入力フォームで入力文字数を制限
<input type="text" name="data" size="64" maxlength="4096" value="data">
この例では4096文字までに制限。
Perlでデータ量制限
use CGI;
$CGI::POST_MAX = 1024 * 1024;
my $query = new CGI;
この例では1 MBに制限。
Pythonでデータ量制限
import cgi
cgi.maxlen = 1024 * 1024
data = cgi.FieldStorage()
この例では1 MBに制限。
/tmp/に書き込めない
CentOS 7に組み込まれていたhttpdでCGIを作っていたら、/tmp/に書き込めなかった。
何らかの設定でそうなっているらしい。
原因を探れば設定を変更することは可能だろうが、データの書き出しに/tmp/は使わなければいい。