• ベストアンサー

フォルダ内の画像をランダムに表示。

掲示板にイタズラ(プログラムによる自動書き込み?)が多くなったので対策を考えています。 IPで弾こうにもどんどん変えてくるので対策にはなりませんでした。 そこで、画像の中にある数字を入力しないと書き込みできないような仕組みを組み込もうと思います。 画像は準備しました。画像をランダムに表示させるにはどのようにしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mobt
  • ベストアンサー率50% (7/14)
回答No.2

多分 作ろうとしているのは phpBBとかに使われている文字の読めないような 画像で、そこに書いてある文字列を入力してください を作ろうとしていると思いますが あれはGDというモジュールを使っていまして、 完全にソースとかでも参照元文字が見えなくなっています、 もしこのままランダムに表示させても ある一定のinputのhidden に忍ばせないと 数字が何であるのか か比較できないのではないかと思います。 それでも作ろうとしているなら、 配列にある程度の文字列を入れておき、 randで取り出してやればよいかと思います。 #数字のランダム(6文字 @suuji_rand=("0","1","2","3","4","5","6","7","8","9"); for($i=0;$i<6;$i++){ $rn=int(rand(10)); $string.=$suuji_rand[$rn]; } print "$string"; またIPをはじくより、 プロキシで根元からはじいたほうが効果が大きいと思います。 良ければこちらも参考してみてください。 http://www.freeprice.jp/service/mt2/2005/11/_cgi.html

master-3rd
質問者

お礼

>文字の読めないような画像で、そこに書いてある文字列を入力してくださいを作ろうとしていると思いますが その通りです。 >GDというモジュールを使っていまして そうだったんですか…残念です。 他の方法を模索してみます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

1)表示すべき画像のURIを配列にいれる。 2)要素数に収まる範囲で乱数を生成。 3)生成した乱数をインデックスにして配列要素を決定。 4)配列要素の値をURIとしてリソース(=画像データ)を決定。 ――ってので十分では。

関連するQ&A