09/10/19 23:42:52 AsqL0JnN
誘導されてきました。
配布されていたデータベース系のCGIにアクセス制限をかけようとおもっています。
指定されたページから以外のアクセスをはじきたいのですが、携帯でも利用にするため
.htaccessでのリファラ制限は使えませんでした。
何かよい方法はないでしょうか?
843:nobodyさん
09/10/19 23:59:24
GETパラメータ付けとく
844:nobodyさん
09/10/20 00:10:56
セッショントークン使う
845:nobodyさん
09/10/20 18:26:50 hamOlnHD
HTMLの<img src="URLリンク(abc.com)">タグについての質問です。
(1)「def.gif」の部分は、イメージファイル名(x.gif,y.jpg等)を直接書かないといけないのでしょうか
例えば、「x.php,y.cgi等」のスクリプトファイル名でも良いのでしょうか
(2)スクリプトファイル名でも良い場合、
スクリプトから画像を送るコードは、どう指定すれば良いのでしょうか
よろしくお願いします。
846:nobodyさん
09/10/20 18:32:22
>>845
(1)
何でもいい
(2)
HTTPヘッダに Content-Type: image/お好みの を指定
ボディとして画像のバイナリを返す。
847:nobodyさん
09/10/20 18:51:05
Linux では STDOUT に対してバイナリモード/アスキーモードの区別が無いらしいですが、
Win 鯖のことも考えるなら、全ての出力は binmode STDOUT とかしちゃっても構わないのでしょうか?
テキストの改行は \r\n でするように気をつけることも必要ですが・・・
あっ、ちなみに Perl 使ってます。
848:845
09/10/20 18:53:58 hamOlnHD
>>846
レスありがとうございます
ボディとして画像のバイナリを返すには、どうすれば良いのでしょうか
(画像ファイル(jpg,gif)のバイナリ部分の読込み方ですが)
よろしくお願いします。
849:nobodyさん
09/10/20 21:04:33
>>847
内部処理と出力処理の文字コードがちゃんと把握できてれば問題ない
850:nobodyさん
09/10/20 21:38:58
なるほど
851:nobodyさん
09/10/20 21:42:48
>>848
そこらの画像表示型アクセスカウンタをダウンロードして中身見れば一発。
少し自力で調べる癖をつけなさい。
852:nobodyさん
09/10/20 21:57:51
>>848
ファイルを開く
標準入力をバイナリモードへ
ファイルを読み込む
標準出力をバイナリモードへ
ファイルを出力する
その後にもなんらかの出力があるなら標準出力をアスキーモードへ
853:753
09/10/21 10:02:41 oAfOS5dz
お久しぶりです。
あれから色々と考えておりました。
やはり、CSSを別ファイル定義せずに、PHPファイルを作成(そのときにtr等で線を引き)し、その中に直接書き込み
<stryle>
#tr1{
background-color: <?php require_once('connect.php');?>
}
<style>
と書いてやるのはどうかな、と思ってます。
ご意見等頂けると、幸いです。
また、この方法は正当というか、普通なのでしょうか?f(^_^;
いかんせん、ソースの肥大化が心配です。
ソースを見られたときにもなんじゃこりゃ??みたいになりそうな気もしています。
もしくは、そのCSSを全部書いたphpファイル(中身はCSSの様なものですが)を読み込むという方がいいのでしょうか?
854:753
09/10/21 11:46:41 oAfOS5dz
ソースを少し修正です。
[test.html]
<link rel="stylesheet" type="text/css" media="screen" href="test1.php">
[test1.php]
<strle type="text/css">
$dfcolor = "#FF64FF"
#tr1{
color: <?php $dfcolor?>
}
</style>
このような形式で現在記述していますが、色の変更は確認できませんでした。
これはphp側を読み込んでないのでしょうか?
それとも、単に記述方式の間違いでしょうか。
855:nobodyさん
09/10/21 11:51:05
typoもあるようだけど……
HTMLのstyle要素にする必要はないのでは?
typeで text/css と言ってるのだから中身はCSSそのものが返ってくる
ようにしなければ。
856:nobodyさん
09/10/21 11:53:09
>>854
test1.phpの実行結果見てごらん
857:753
09/10/21 12:01:30 oAfOS5dz
すみません、自己解決です。
CSSとして読み込んでいるのに、そのままStyle type等を入力していたのが間違えでしたorz
お恥ずかしい限りですが、また何かあった時にお邪魔致します。
858:nobodyさん
09/10/21 12:48:46
pixivにアクセスしてゴニョゴニョしようと思っています。(こういう質問はNGですか?)
いろいろソースが公開されているのはわかってるのですがHTTPの勉強も兼ねて作ってます。
POST /index.php HTTP/1.1
User-Agent: Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.1;)
Date: Wed, 21 Oct 2009 02:58:26 GMT
Accept: */*
Accept-Language: ja
Host: www.pixiv.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 47
mode=login&pixiv_id=xxxxx&pass=xxxxxxxx&skip=1
で、とりあえずcookieを返してくるのでログインできてるっぽい?のですが
HTTP/1.1 302 Found
Date: Wed, 21 Oct 2009 02:51:54 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: URLリンク(www.pixiv.net)
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Set-Cookie: PHPSESSID=79175a735e8ee421c62aa4c3289a4056; path=/; domain=.pixiv.net
Set-Cookie: pixiv=user_id%xxxxxxxx%26user_pass%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%26user_mail_address%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Fri, 20-Nov-2009 02:51:54 GMT; path=/; domain=.pixiv.net
Set-Cookie: PHPSESSID=143d52eef6436f41559e3af4280faadc; path=/; domain=.pixiv.net
Vary: Accept-Encoding
Connection: close
て感じでレスポンスされて、このあと/mypage.phpをCookieつけてGETしてるのですが
同じくContent-Length: 0で同じようなcookieを返されるだけで中身を返してくれません。
何か間違ってますでしょうか?もしかしてログインできてないのかな
859:nobodyさん
09/10/21 12:51:33
ゴニョゴニョって何?
860:nobodyさん
09/10/21 12:57:26
LocationヘッダだからContent-Lengthは0だろ?
なんの問題もない
861:nobodyさん
09/10/21 13:26:22
>>859
普通に画像検索をして並べ替えたりとか。
画像ダウンロードしたりとか。
>>860
えーとlocationってそこを開いてね。っていうヘッダなんですよね?
で、
GET /mypage.php HTTP/1.1
Cookie: PHPSESSID=79175a~~
Cookie: pixiv=user_id%xxxxxxxx~~
として取得しても
Location: URLリンク(www.pixiv.net)
Content-Length: 0
を返されちゃって無限ループになってしまうんです。
どうすればmypage.phpは本文を返してくれるんだろ?っていう。
何か根本的なことを間違えてる?
862:nobodyさん
09/10/21 13:34:33
具体的にどんな内容を期待してるの?
863:nobodyさん
09/10/21 13:38:21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "URLリンク(www.w3.org)">
<html xmlns="URLリンク(www.w3.org)" lang="ja" xml:lang="ja" dir="ltr"><head>
~~
とかの内容です。
864:nobodyさん
09/10/21 14:46:32
試してないけど、リファラが妥当か見てたりしない?
865:nobodyさん
09/10/21 16:22:58
リファラもURLリンク(www.pixiv.net)にしています。
URLリンク(www.pixiv.net)もやってみたけどかわらなかった。
Dateもちゃんと送っています。
あとサーバが判断に使ってるものってなんですかね
-------------------------
GET /mypage.php HTTP/1.1
User-Agent: Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.1;)
Date: $date
Accept: */*
Accept-Language: ja
Host: $address
Referer: URLリンク(www.pixiv.net)
Cookie: pixiv=user_id%~>>858で取得したもの~
Cookie: PHPSESSID=~>>858で取得したもの~
-------------------------
これでリクエストしても、
返ってくるのは>>858の下と同じ内容でして・・・。
情報小出しになってしまってすいません。
試してみたのは今のところこれくらいです。
866:nobodyさん
09/10/21 16:25:43
>>865
firefoxなり何なりで実際のhttpリクエスト出して比べてみたら?
867:nobodyさん
09/10/21 16:32:41
そうだな。こういうときはwgetで丸ごと保存するか、FirefoxのLive HTTP Headersプラグイン使うかな
868:nobodyさん
09/10/21 16:59:08
アー、ヘッダを見れるブラウザないのかなと探してたんですが
FireFoxでできたんですね。帰宅したらやってみます。
ありがとうございます。
869:nobodyさん
09/10/21 17:43:23
Live HTTP Headers知らない頃、Ethereal(現wireshark)で
パケット調べたっけなー。
870:848
09/10/21 17:54:46 uFGY6860
>>851,852
レスありがとうございます
871:nobodyさん
09/10/21 18:15:47
>>869
ぶっちゃけLiveHTTPHeaderじゃ役不足なところもあるからWireSharkのほうがいいけどな
起動コストや諸手間考えると手軽とはいえないけど
872:858
09/10/21 22:20:12
無事できるようになりました。
原因は>>858でSet-Cookie: PHPSESSID=のある行が2つあって
そのうちの上のやつを送信してたからだったみたいです・・・。
873:nobodyさん
09/10/21 23:49:21
>869
FirefoxならLHHもあるし、Firebugもあるからな。
OperaもDragonflyあるし、WebKitにもコンソール付属するし、便利になったもんだ。
874:nobodyさん
09/10/22 07:46:41 wrpHBrml
パソコンXのホームページのYサイト向けリンクがクリックされた時、
Yサイトで、パソコンXにクッキーを書き込んで、
Zサイトにリダイレクトするには、
どうすれば良いのでしょうか?
875:nobodyさん
09/10/22 08:05:09
なんだその糞みたいな書き方は
もっと説明力をつけろ
876:nobodyさん
09/10/22 08:12:29
hiddenフィールドでセッションIDを持ちまわすのってなんかセキュリティー的に問題ありましたっけ?
877:874
09/10/22 08:40:27 wrpHBrml
>>875
失礼しました。
クライアントのパソコンにCookieを書き込んで、他のサイトへリダイレクトさせるには
どうすれば良いのでしょうか
878:nobodyさん
09/10/22 11:20:40
setcookie(ほげほげ)
header('Location ~');
879:877=874
09/10/22 11:31:39 wrpHBrml
>>878
レスありがとうございます。
setcookieで、クライアントへクッキーが送られますが、
その後で、リダイレクト先から、クライアントへ画面等が送られますが
問題ないんでしょうか?
クライアントから見れば、リダイレクト元への要求に対して、
二度レスポンスが返ってくることになりますが・・・
880:nobodyさん
09/10/22 11:33:45
そりゃクッキーがあろうが無かろうが同じだろう
881:879
09/10/22 12:11:43 wrpHBrml
>>880
レスありがとうございます
私のリダイレクト機能の理解が間違っているような気がします。
リダイレクト先への要求は、リダイレクト元のサーバから出るのではなく、
クライアントから出るのでしょうか?
リダイレクトの時のメッセージの流れは、どうなっているのでしょうか?
よろしくお願いします。
882:nobodyさん
09/10/22 12:13:49
そりゃリダイレクト先への要求はクライアントからだろう。
C->S1(最初のリクエスト)
S1->C(cookieとS2へのリダイレクト指示)
C->S2(リダイレクト先へのリクエスト)
ok?
883:nobodyさん
09/10/22 12:23:53
S1がクライアントの代わりにS2にアクセスして結果を返してくれるなら、
それはプロキシーと呼ぶ。
884:881=879
09/10/22 12:32:45 wrpHBrml
>>882,883
レスありがとうございます
理解が間違ってました。
大変よく分かりました。
ありがとうございました。
885:nobodyさん
09/10/22 16:59:14 6LfYEN/q
ブログパーツが作りたいです。
動きのあるものとグリムスみたいにブログから情報を得るものを組み合わせたいのですが、
ActionscriptとJavascript以外に
サーバーサイド系の言語として何を学んだらいいでしょうか?
Pythonを少しだけかじったのですが、サーバーサイド系としては使えないのでしょうか?
886:nobodyさん
09/10/22 23:40:49
>>885
pythonに慣れてるなら、zopeなんてどうよ?
あとHTMLも、基本的なところは押さえておいた方がいいよ
887:nobodyさん
09/10/22 23:43:58
pythonは趣味でおやり
webプログラム作るならperlかphpが主流
888:nobodyさん
09/10/22 23:54:08
Pythonが使えるなら、GoogleAppEngineが使える
GAEを使いたいというだけでPythonを習得する奴も多い
(いまはJavaでもできるようになったが)
つうわけで、いっそGAE覚えてそのままPythonistaとして生きていけばいいんじゃないかな
Pythonは日本語圏だとパッとしないが、英語圏だとPerlの代替として注目されている
(日本だとRuby>Pythonだが、英語圏だとPython>Rubyになる)
日本語情報が少ないのが泣き所だが、実績もあるし、そう悪くはない
まあ、>887の言うとおり、PerlとPHPの方がシェアは圧倒的に上だが
889:nobodyさん
09/10/24 00:47:30
お聞きしたいのですが、社内のパソコン50台からローカルにあるサーバ(windows)にアクセスしてデータの検索などを行いたいのですが、
java+アパッチ+tomcatのようなhtmlとしてアクセス可能な環境をフリーのソフトだけで構築することは可能でしょうか?
少し調べてみたのですが、データベースに関してはOpenOffice.org Baseなどフリーのものがいくつか出てきたのですがアパッチ+tomcatのようなソフトはあるのでしょうか?
かなり前ですがjava+アパッチ+tomcatはほんの少しですが触ったことがあります。
よろしくお願いします。
890:nobodyさん
09/10/24 01:06:53
WEB ベースのようにするのか、OpenOffice の DB つかってソフトを組むのかは
個人の自由
個人的には WEB アプリは考えなきゃいけないことが
多くなりがちなのであまり好きじゃない
891:nobodyさん
09/10/24 04:28:37
>>889
というかjava+apache+tomcatって全部フリーじゃん
892:nobodyさん
09/10/24 06:42:36
DBにmysql入れれば完成だな
webprog板で質問してるんだからwebアプリでつくりたまえ
893:nobodyさん
09/10/24 07:07:02
簡単に組むならapache、ActivePerl、MySqlとかだろうな。
Win用のインストーラあるし。
894:nobodyさん
09/10/24 10:07:11
わざわざ背伸びしなくてもイントラネット君でOSの標準機能で検索できるだろ
895:nobodyさん
09/10/24 10:43:44
LinuxのWindowsに対する優位性って何なのでしょうか?
896:nobodyさん
09/10/24 11:00:56
UNIXなところ。
897:nobodyさん
09/10/24 11:02:03
>>895
OSが無料
自分でソースをいじってカスタマイズできる
898:nobodyさん
09/10/24 11:14:10
Windowsでないところ。
899:nobodyさん
09/10/24 11:54:49
利用者が少ないのでシステムが狙われにくい
900:nobodyさん
09/10/24 12:04:48
>>898は宗教的な考えで参考にならない
>>899は激しく的外れでそんな理由ではない
901:nobodyさん
09/10/24 12:38:55
>895
圧倒的に使いやすい
902:nobodyさん
09/10/24 12:47:13
>>900
お前はもっと空気を読め
903:nobodyさん
09/10/24 12:53:06
ここ雑談スレじゃないし
904:nobodyさん
09/10/24 13:24:00
結局、ふふ~ん、俺って初心者御用達のWindowsじゃなくてLinuxを使ってるんだぜ、
かっこいいだろー、っていうことですね。
905:nobodyさん
09/10/24 13:51:19
実際にWindowsサーバー立てると分かる。
Linuxは安定している。Windowsはサーバー用のものでも高負荷時に話にならない。
あと、Winはファイルシステムが10年ほど遅れているのも大きい。ファイルが壊れやすく復旧しにくい。
サーバー用途だと性能もLinuxの方が上。タスクの管理方法的に、Windowsは大量のプロセスを捌きにくいという構造問題が足を引っ張る。
まあ、あとアレだ、無料ってのは大きい。ライセンス問題に煩わされないのは魅力。
プログラミングで飯を食ってると、仮想環境含め、サーバー環境なんて作っては潰し作っては潰し、になるからな。
あとはサーバー管理だとLinuxの方がこなれていて使いやすい。WIndows向けサーバー用途ソフトウェアは選択肢が狭い。
最近はパッケージ管理ソフトウェアとかあるから構築もしやすいしな。
クライアントPCだとWin>Linuxだと思う。Ubuntuはそれなりに頑張ってはいるが、個人的にはまだまだ。
906:895
09/10/24 14:23:31
例えばPHPなんかでもWindowsならばすぐにインストールとか単純なのに、Linuxでは--enableとか色々あってめんどくさそうだなぁ、と思っていたのですが、
すんなりとWindowsからLinuxに移行できるものなのでしょうか?
慣れが必要だったり、インストールに手間取ったり
また今まで使っていたプログラミング以外のセキュリティソフトとかPhotoshopとか色々動作するのでしょうか?
そういうのがあって、個人パソコンだと移行に躊躇してしまいます
907:nobodyさん
09/10/24 14:32:36
>>906
>今まで使っていたプログラミング以外のセキュリティソフトとかPhotoshopとか色々動作するのでしょうか?
動作しないのでそのままWindows使っててください。
908:nobodyさん
09/10/24 14:38:28
>>905
>Linuxは安定している。Windowsはサーバー用のものでも高負荷時に話にならない。
>あと、Winはファイルシステムが10年ほど遅れているのも大きい。ファイルが壊れやすく復旧しにくい。
>サーバー用途だと性能もLinuxの方が上。タスクの管理方法的に、Windowsは大量のプロセスを捌きにくいという構造問題が足を引っ張る。
この辺のところ数字で詳しく
909:814
09/10/24 18:13:27
PhotoshopはないけどgimpとかそれにちかいものはあるYO
WinからUnixへ「すんなり」移行は無理な話。システムそのものが全く違う。
とりあえずマウスを外してパソコン使えるようになってからだな。
910:nobodyさん
09/10/24 19:20:51
サーバとデスクトップを分けなよ
開発のためだけにUnix系に移行するのはありえない
Unix系に興味があって入れてみたいというなら止めないけど
Windowsのほうが圧倒的に対応アプリケーションが多いんだから無理してかえることはない
サーバをやりたいというのであればデスクトップとしての機能は捨てるべき
サーバ公開しつつ絵かいたりゲームやったりとか普通しないからね
ただ使ってみたいのであればパーティション区切って入れてみればいい
Windowsがすでにインストールされてる状態でも区切っていれてくれるはずだ
ただこの方法はのちのち面倒な問題になる可能性があるのでオススメはしないが
できればHDD2台以上用意して別々にいれたほうがいい
ちなみにUnix系の場合初期設定にもよるが
デスクトップだけでなくサーバとして使うことを想定しているので
PHPを含めて最初からサーバ一式入れることができる
アップデートやインストールなんかも専用のパッケージ管理ソフトを使って簡単にできる
ただ設定はWindowsもUnix系も同じで結局必要なとこは自分でやらないといけない
911:nobodyさん
09/10/24 19:31:06
おもいきってMacにしてしまえば全て解決したりする
912:nobodyさん
09/10/24 23:44:14
>>910
俺は開発専用にlinuxが欲しい
ゲームや画像処理はwinでやるけど
913:nobodyさん
09/10/25 00:11:14
同時に使いたいなら、VMwareなりVirtualBOX使えばいい
914:nobodyさん
09/10/25 04:48:51
webのデザイン、コーディング、更新作業などをしている者です。
CGI設置とjavascriptコピペくらいしか出来ないのですが、自分で何か作れるようになりたいのです。
勉強するためにはいま必要なものをとりあえず作ってみればいいんじゃないか、ということで、
サイト管理用のなにかをつくろうとしてます。。
現在勤めている会社では、web部門が二名なのですが
管理サイトが10を超えていて、
それぞれの最終更新日とタスクリストの表示、業務報告の書き出しが出来れば随分楽になるんですが。。
まず何からすればいいでしょうか。
どんな言語がよいのかなど、アドバイスおねがいします。
915:nobodyさん
09/10/25 05:06:04
>>914
PHPでいいんじゃない?
916:nobodyさん
09/10/25 05:10:00
何その零細企業
俺をCTOとして迎えるべきだな
917:nobodyさん
09/10/25 06:04:47
CMS導入&活用ガイド | Web担当者Forum
URLリンク(web-tan.forum.impressrd.jp)
918:nobodyさん
09/10/25 08:27:50 CuL6OmA+
Perl CGIで、クライアントのIPアドレスとリファラーのURLを
参照する方法を教えて下さい。
よろしくお願いします。
919:nobodyさん
09/10/25 09:42:25
>>918
一行目そのままググれば2番目辺りに答えがある
920:nobodyさん
09/10/25 09:45:37
use CGI qw(:cgi);
my $cgi = CGI->new;
my $referer = $cgi->referer;
my $host = $cgi->remote_host;
Perlスレあるよっと。
921:nobodyさん
09/10/25 10:25:41
web知識が初心者並みのks野郎がwebの仕事をして一人前に給料をもらってて
一人で鯖構築やらWB制作なんでもできる優秀な俺が無職な日本
922:nobodyさん
09/10/25 11:27:02
性格がダメなことに気が付け
923:918
09/10/25 17:22:35 CuL6OmA+
>>919,920
レスありがとうございます
924:nobodyさん
09/10/26 00:13:41
JSPの質問はここで良いでしょうか。
スレ違いであればお手数ですが、誘導をお願いします。
運用時に画像ファイルををアップロードするだけで運用したい為、
./img配下の画像ファイル名を取得し、それをランダムに表示するJSPを作成したいのですが、
エラー『rg.apache.jasper.JasperException: JSPのクラスをコンパイルできません:』が発生してしまっています。
ソース
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.math.*" %>
<%
File objFld=new File("./img");
File[] aryFls=objFld.listFiles();
n = Math.round(Math.random() * aryFls.length);
out.print("<img src=./img/" + aryFls[n].getName + "border='0'>");
%>
最後の2行でエラーが発生してるのですが、
私の頭以外に何か悪いところがあればご指摘/ご指導をお願いします。
925:nobodyさん
09/10/26 00:22:41
>>924
何となく勘で
out.print("<img src=./img/" + aryFls[n].getName + "border='0'>");
↓
out.print("<img src=./img/" + aryFls[n].getName + " border='0'>");
としたらどうなる?
926:nobodyさん
09/10/26 00:23:27
nの型宣言かな
927:nobodyさん
09/10/26 00:33:07
つかExceptionにエラー内容書いてない?
928:nobodyさん
09/10/26 00:53:24
>>925,926
ご指摘ありがとうございます。
borderの前のスペースは完全に失念していました。
またnの型宣言についても修正させていただきましたが、
現象は変わりませんでした。
>927
エラー内容を見直してみました。
JSPファイル: /pc/pc_main.jsp の中の24行目でエラーが発生しました
Type mismatch: cannot convert from long to int
21: File objFld=new File("./img");
22: File[] aryFls=objFld.listFiles();
23: long n = Math.round(Math.random() * aryFls.length);
24: out.print("<img src=./img/" + aryFls[n].getName + " border='0'>");
25: %>
JSPファイル: /pc/pc_main.jsp の中の24行目でエラーが発生しました
getName cannot be resolved or is not a field
21: File objFld=new File("./img");
22: File[] aryFls=objFld.listFiles();
23: long n = Math.round(Math.random() * aryFls.length);
24: out.print("<img src=./img/" + aryFls[n].getName + " border='0'>");
25: %>
よく見てみるとlong→intの変換に失敗しているようでした
nの中にろくでもない値が入っている気がします、
乱数の作成処理を見直してみることにします。
ありがとうございました。
929:nobodyさん
09/10/26 01:32:48
>>928
いや、
aryFls[n]の「n」がint形でなければならないのと、
getNameっていうフィールドではなくgetName()が正解だと思うよ。
930:nobodyさん
09/10/26 01:52:30
>>929
ご指摘ありがとうございます。
頂いたた指摘を元に、ソースを以下に修正したところ、
問題が解決できました。
File objFld=new File("./webapps/HP/pc/img");
File[] aryFls=objFld.listFiles();
int n = (int)Math.round(Math.random()*(aryFls.length-1));
out.print("<img src=./img/" + aryFls[n].getName() + " border='0'><BR>");
頂いた指摘以外にも乱数の発生範囲やカレントディレクトリの意識などが抜けていました。
今後の課題は、このJSPをサーバに上げた時に
カレントディレクトリが何処になるのか把握して
アップロード時には修正しないとまた困った事になりそうですorz
931:nobodyさん
09/10/26 01:58:51
・・・せっかくjsp使ってるんだから、web.xmlなり何なりで定義するべきじゃないか?
932:848
09/10/26 14:07:08 nC3NwSAb
>>852
レスありがとうございます。
ホームページに画像を返すプログラムを作ったのですが、
画像が表示されません。
そこで、下記プログラムをローカルに実行して、テストしたところ、
出力ファイルが入力ファイルと異なります
(出力の方がファイルサイズが若干小さく、
ペイントで開こうとしたら形式が違うというエラーになります)
open IIMG, "D:\\lbanner1.gif" or die;
open OIMG, ">D:\\lbanner2.gif" or die;
binmode IIMG;
binmode OIMG;
print OIMG while(<IIMG>);
close OIMG;
close IIMG;
入力したファイルと同じ出力ファイルを作るには、
どうすれば良いのでしょうか?
よろしくお願いします。
933:848
09/10/26 14:15:31 nC3NwSAb
追加です。
Webコーディングでは、
binmode OIMG;
print OIMG while(<IIMG>);
を、
binmode STDOUT;
print "Content-type: image/gif\n\n";
print while(<IIMG>);
にしています。
934:nobodyさん
09/10/26 15:08:28
表示されないときのエラーログは?
とりあえずそのコードコピペでも問題無かったよ
Windowsじゃないけどね。大きさ違うなら差分取ってみてよ
935:932=848
09/10/26 18:38:17 nC3NwSAb
>>934
レスありがとうございます
エラーログは次の通りです。
failed to open log file /var/log/httpd/suexec_log
fopen: Permission denied
Premature end of script
差分は、どうすれば取れるのでしょうか。
よろしくお願いします。
936:nobodyさん
09/10/26 21:03:44
>>932
それなんのプログラム?
937:nobodyさん
09/10/26 22:20:49
<>ってバイナリにも使えるんだっけ? readだとどうよ?
938:nobodyさん
09/10/27 11:19:45
suExec?Windowsだとどうなるんだ、そんなエラー(suExec関連)出る可能性あるのかな
差分はdiff、、、つーかwindowsならfc.exeがあるべ、/bでバイナリ使えた気が。
まずバイナリファイルの読み書きが解決してから、cgiが実行できてないほうをやったほうがいい
たぶん両者は別問題。
939:932=848
09/10/27 11:51:17 CPNCdNXO
レスありがとうございます。
readでやったら、できました(ローカル、cgiとも)。
cgiの方は、1行目に改行が入っていました。
どうもありがとうございました。
ただ、別の問題(質問)が出てきました。
画像を表示するcgiプログラムを
<a href="http://~">で呼び出すと、クッキーを取得(参照)できるのですが、
<img src="http://~">で呼び出すと、クッキーが取得(参照)できません。
後者の呼び出しでは、クッキーは参照できないのでしょうか?
よろしくお願いします。
940:nobodyさん
09/10/27 12:17:12
>>939
セキュリティ系のソフト入って無い?
たぶんブロックされてる。
941:nobodyさん
09/10/27 21:55:21 kiHD33LQ
すいません。質問させてください
Strutsで以下のJSPでのonmouseover=の中で動的にスクリプトレットの値を
表示したいのですが、マウスをカーソルした時に「100+200の結果」と表示して欲しいのに、
「+の結果」と表示されます。
どうすればサーバー側から取得した任意の値を表示させる事ができるのでしょうか?
Formから取りだすのはNGです。
<%
String a = "100"; //サーバーから取得した値
String b = "200";
%>
<display:column property="total" title"足し算"
onmouseover="tip('表題',' <%=a%>+<%=b%>の結果')" onmouseout="untip()" />
先生、よろしくお願いします。
942:nobodyさん
09/10/28 00:05:10
onmouseover="<%= "tip('表題', '" + a + "+" + b + "の結果')" %>"
943:939=932=848
09/10/28 08:43:51 3sLr7DkQ
>>940
セキュリテイソフト止めても同じです。
パソコンのIPアドレス等も送られてくるし、画像もパソコンに表示されます。
クッキーはセットしたサーバにしか送られないので、
クッキーだけブロックする意味もないような気がしますが・・・
どうすれば<img src=~>で、クッキー取得できるのでしょうか?
よろしくお願いします。
944:nobodyさん
09/10/28 11:51:04
>>943
追跡用のcgi画像cookieをスパイウェアとして検出するセキュリティソフトは多いぞ。
それはさておき、ブラウザとセキュリティソフトの名前くらい挙げてもバチはあたるまい。
945:943=939
09/10/28 18:27:48 3sLr7DkQ
>>944
レスありがとうございます。
セキュリティソフトはAVG Free Edition 8.5、ブラウザはIE7です。
検出のメッセージ、ブロックのメッセージは出ていません。
よろしくお願いします。
946:nobodyさん
09/10/28 18:31:40
>>945
html置いてる鯖と、img srcで呼んでるcgiの鯖が違うなら仕様。
947:nobodyさん
09/10/28 18:33:32
クッキーが無いってどうやって判断した?
ツールとかでやりとりしてるときのヘッダー見てる?
画像じゃないときのクッキーはどう?
948:945
09/10/28 19:24:27 3sLr7DkQ
>>946,947
レスありがとうございます。
CGIプログラムでログのようなファイルに、
日時、クッキー、IPアドレス、リファラー等を書き込んでいます。
ホームページ上には、そのCGIプログラムを参照する
<a href=>リンクと<img src=>の画像表示タグがあります。
前者をクリックすると画像だけ表示されます。
その後、元のホームページをブラウザでリロードします。
その後で、ログもどきファイルの中を見ますと、
前者のレコードにはクッキーがあり、後者のレコードにはクッキーがありません。
その他のデータは両方にあります。
>>946
ホームページ置いてるサーバとCGIのサーバは別サーバです。
仕様ですか!?
949:nobodyさん
09/10/28 19:33:08
>>948
>ホームページ置いてるサーバとCGIのサーバは別サーバです。
>仕様ですか!?
ずっこけた
950:nobodyさん
09/10/28 20:27:01
>>948
URLリンク(example.com) から <img src="URLリンク(example.net) とかやってんだろ?
example.netの方がサードパーティのcookie扱いになってるからブラウザが送信してない。
ブラウザによっては設定で回避できるがデフォでは無理。諦めれ。
951:nobodyさん
09/10/28 20:28:36
それが容易にできたら抜きまくりだろ
952:948
09/10/28 20:58:06 3sLr7DkQ
レスありがとうございます。
>>950の例で言いますと、クッキーをセットしたのは、
URLリンク(example.net)なのですけど、なぜダメなのでしょうか?
クッキーをセットしたドメインと、参照するドメインは同じドメインなのですけど。
953:nobodyさん
09/10/28 21:11:20
>>952
物分り悪いな・・・。
>>950で「サードパーティのcookie扱いになってる」ってちゃんと理由も書いたんだが。
それが何故ダメなのかまで知りたきゃググるくらいのことはしてくれよ。
954:nobodyさん
09/10/28 21:16:42
>>952はcookieをサーバーが読み出す(pullする)ものだと勘違いしてんじゃね?
955:nobodyさん
09/10/29 02:11:33
P3P
956:nobodyさん
09/10/30 08:28:03
ホームページを公開しているのですが、掲示板にスパム書き込みが
多くこまっています。
掲示板へのリンクはjavascriptで
location.href = "/hogehoge/" + "hoge.cgi"
と言った具合に直にはURLがわからないようにしているのですが
それでも数ヶ月するとスパム書き込みが始まります。
どうやらグーグルの検索結果に上記Javascriptで書いてある
リンクが/hogehoge/hoge.cgiと結合された形で残ってしまうからの
ようです。
どういった対策が考えられるでしょうか?
957:nobodyさん
09/10/30 08:36:39
スパムが英語だった場合は英語のみの書き込みを弾く
画像認証を採用する
禁止語リストを作り、当てはまれば弾く
958:nobodyさん
09/10/30 08:47:29
>>957
なるほど。画像認証いいですね。
しかし掲示板側の修正は難しいですねー。
959:nobodyさん
09/10/31 00:04:52
まあ自動投稿スクリプトが相手なら、不変の認証キーとそれを表示する画像があればいいんじゃないか?
個人サイトの認証破るのに業者もそんなコストかけんだろ
960:nobodyさん
09/10/31 07:05:09 4iG7XIa+
MySQLの漢字コードをutf-8にして、
HTMLソースの漢字コードをSJIにした場合、
(1)そのままで、MySQLの漢字データは正しく表示されるのでしょうか?
(2)正しく表示されないとしたら、どのように変換すれば良いのでしょうか?
961:nobodyさん
09/10/31 08:49:47
>>960
(1)やってみりゃわかりますがもちろん化けます。
(2)sjisに変換してください。
962:nobodyさん
09/10/31 09:27:28
>>960
ミドルウェアが変換してくれるので正しく表示されます。
変換の必要はありません。
963:nobodyさん
09/10/31 13:08:22
HTMLソースって何だ? phpソースのことか?
964:nobodyさん
09/10/31 14:17:02
すいませんどこで質問して良いかさえわからないのですが教えてください。
楽天のgoldというFTPに日本語のフォルダを間違えてUPしてしまったら
削除できなくなってしまいました(リネームもできないです)
削除するにはどうすればよいのでしょうか。。
965:964
09/10/31 14:18:31
使用ソフトはFFFTPです。
後何を書いてよのやら。。
966:nobodyさん
09/10/31 14:30:16
これなら削除できるよ
URLリンク(www.forest.impress.co.jp)
967:nobodyさん
09/10/31 14:32:20
ちがう
URLリンク(www.smartftp.com)
こっちだ
968:964
09/10/31 14:41:58
>>966
ありがとうございます。
FTPit 1.5.5をDLしたのですが説明が英語すぎで
exeファイルもなくてどれがインストールファイルなのかすらわかりませんでしたorz
もうちょっと頑張ってみます
969:964
09/10/31 15:06:12
>>967
smartFTPをインストールしました。FTPに接続完了です。
が、該当の日本語ファイルが表示されておりません。orz
どうやるのでしょうかorz
970:964
09/10/31 15:17:00
うう。。
ひょっとして騙されたのか俺ort
971:nobodyさん
09/10/31 15:37:16
少し落ち着け。お前が慌てたところで何も解決しない。
>>969で該当のファイルが表示されてないとあるが、他のファイルは表示されてるのか?
違うとこ見てないか?
972:nobodyさん
09/10/31 15:38:41
mdel * もできないのかね。