.................................................
.............................
何となくリンク
.............................
|
|
レスを書き込みます
|
ブラウザの仕様で連続する英数字は自動改行を無視するそうな。
実際見ないとイメージ掴めないと思うんでサンプルを用意してみた。
⇒これ 実はコレ、非常に危険な仕様だったりする訳です。
例えばユーザーが自由に書き込める掲示板など。
英数字を1000文字くらい繋げるとテーブルの設定を無視して、
1行で1000文字表示されてしまいます。(下に超長いスクロールバーが出る)
因みにスペースが入ると自動改行機能が有効になります。
なので、英語のように単語の連続などは全然問題ないです。
さて、この連続英数字を意図的にやられたどうでしょうか?
Webのレイアウトは下に無意味に長いスクロールバーが出現することでボロボロです。
そこで万全を期して対策を施すのもアリかと思います。
具体的に言うと、この雑記のレスに対策を施しました。
60文字以上連続した英数字は書き込めなくなってます。
参考までに書くと、コメントをチェックする箇所に
if文で「60文字以上の英数字」チェックを追加しました。
if($in{'com'} =~ /.*[a-zA-Z0-9]{60}/)
この条件にマッチした場合はエラー処理へ行くようにすれば良い。
因みに表の掲示板は上記チェックを入れてないので、
長い連続した英数字を投稿されると下にスクロールバーが表示されます。
あとさり気なくコメント表示欄のテーブル横サイズが90%で
左側が無意味に空いてた為、100%に変更してピッチリにしました。
現在、名前の入力制限がないので、
暇が出来て忘れてなかったら、そちらも改修したいと思います。
が、その前に、この雑記自体、新Verに入れ替えたいんですが(´д`)
いや、だって色々バグがありますからコレ。
変なオペレーションするとリンク構成に不整合が発生したりね。
|
|
|