藤岡です。

> CGI.new(:accept_encoding=>"...",
>   "name1"=>:file,
>   "name2"=>...)
> 
> で、検査しないなら
> 
> CGI.new(:accept_encoding=>:no_validation,
>   "name1"=>:file,
>   "name2"=>...)
> 
> とか。

こんな感じで項目毎にチェックを要求すると、
今あるウェブアプリ(tDiaryやHikiなども含む)は
軒並み設計をし直しになると思います。
理由はたいていのアプリはcgi=CGI.newをアプリの最初にやっておいて、
それからcgiを引き回す設計になっているからです。
また、CGI.newしたときにクエリをパースしているのですが、
CGI.newする前にURLはわかっていませんので、
どの項目を受け取れるようにするかを知らせることが困難です。
だからといって、ウェブアプリで使う項目を全部書くのも
現実的ではありませんし、動的な名前が受け付けられないのも困ります。
そのため、私は各項目名毎のチェックは入れたくありません。
セキュリティ的に問題だとしたら、容量チェックや
項目数の上限を設定する方が、
使い勝手の面でいいのではないかと思っています。