- ベストアンサー
バッファオーバーフロー
バッファオーバーフローとは何でしょうか? 検索フォームに長文の文字を検索すると誤作動が起きてしまうものなのでしょうか? 例えば10文字以内で検索という条件がある時、 「犬も歩けば棒に当たる 対義語」と検索して 文字数がオーバーになって誤作動が発生する物なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>10文字以内で検索してください >[ ] 例えばこんなフォームがあったとすると、 (1)HTMLで制限文字数を設定します。 (1-b)JavaScriptで入力した文字列長をチェックしたりもします。 (2)受け取ったプログラムの方でも、制限文字数以内であるかどうかチェックします。 (3)10文字を超えている場合、 (3-a)「検索文字列が長すぎます」というエラー表示をします。 または (3-b)先頭10文字のみで検索します。 といったような処理になります。 つまり、ユーザーがどのような入力をしようとも、HTML上での制限を回避して長い文字列を送ってこようとも、プログラムは正常に動くように(バッファーオーバーランは起こらないように)組まなければならないと、考えます。 そうなっていないならばプログラマ側の手抜きであり、不具合です。 ユーザーの入力により手抜きプログラムが異常動作を起こしたからと言って、ユーザーに責任はありません。 そのプログラム・プログラマが、悪いのです。
その他の回答 (1)
- watanabe04
- ベストアンサー率18% (295/1599)
検索フォームに長文の文字を検索すると誤作動が起きてしまう現象が バッファオーバーフローです。 「犬も歩けば棒に当たる 対義語」と検索して 文字数がオーバーになって誤作動が発生しないように作られている ことが当たり前なのですが、単純に作ってしまうとそうなります。
補足
もし、文字数の指定が知らないまま 「犬も歩けば棒に当たる 対義語」と検索して誤作動が起きた場合、 DoS攻撃と見做され、犯罪にあたりますか?
お礼
ありがとうございました。