忍者ブログ

04

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
□    [PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CGIやDBのロックと同時実行制御
http://jn.swee.to/cano/lock/

安全にファイルを読み書きするにはどうしたらいいかがわかる。 長いけどおもしろい。
PR
スタート>コントロールパネル>システムとセキュリティ>システム>システムの詳細設定

でシステムのプロパティダイアログが開くので
詳細設定のタブを選択。
環境変数 ボタンを押して出た 環境変数ダイアログの下のほうにある「システム環境変数」から
「Path」をさがして選択、編集ボタンを押す

「システム変数の編集」ダイアログが出るので「変数値」の欄の一番最後にperlのパスを入れる。
たとえばperlをデスクトップのwwwというフォルダに移動させたら
;C:¥Users¥username¥Desktop¥www¥bin
と追加する。

その後、コマンドプロンプトを起動させると新しいパスが有効になる。
perl -v
でパスが通ったか確認できる。
(perlのバージョン情報が出てくればパスが通っている。)
メールフォームCGI (ver.6.1)
ローカルでメルフォのCGIテストをしたらSPAM BLOCKになってしまい送信できない。
Q&Aで参考になりそうだったもの

--------------------
スパムブロックはリファラが 該当ドメインと異なる場合、又はリファラが無い場合にブロックするものなので、send.cgiに直接アクセスした場合にスパムブロックと表示されるのは 正常です。

基本的に環境変数を用いてド メインを取得しているのですが、サーバの設定によってはドメイン名を正常に取得できない場合があり、予期せずスパムブロックになる場合もあります。

#01. リファラー(送信元)のURLの一部か全部
$conf{’domain’} = $ENV{’SERVER_NAME’};

とい う部分があるので

#01.リファラー(送信元)のURLの一部か全部
$conf{’domain’} = ’applicraft.com’;
と変更する事でうまく動作するかもしれません。

--------------------

↑変更してみたけどローカルでは送信できなかった。
前も送信できなかったんだっけ…?


参考

スパムメール排除 セキュリティ
メールフォーム、送信時にエラーがでてしまう
CGIのエラーで

defined(%hash) is deprecated at jcode.pl line 684. (Maybe you should just omit the defined()?)
defined(%hash) is deprecated at jcode.pl line 693. (Maybe you should just omit the defined()?)


というのが出てしまう。
原因はPerlのバージョンアップ?5.10までくらいなら問題ない。らしい。

1.Perlのバージョンダウン
2.エラーのあるdefined部分の削除

のいずれかで解決するっぽい??

参考
perlのバージョンを5.10から5.12に上げたら、jcodeのエラーが出るようになった。
CGI全体でエラー(コメント欄に回答?がある)




で、jcode.plからエラーのあったdefinedの部分を削除しようとしたけどうまくいかず、というかどこまで削除していいのかわからなくて不安だったので、他の対処法を探している時に、Perl5.12.xで生じるエラー「defined(%hash) is deprecated」に対する修正を含んだjcode.plファイルを添付してくれているのをみつけた。
ここの掲示板  のRe3記事に添付されてるファイルをダウンロードして、その中のjcode.plファイルだけを拝借して、自分の動かしたいCGIのjcode.plと置き換える。

エラーの出たところを抜き出すと
-------------------------------------------------------------------------------
&init_z2h_euc unless defined %z2h_euc;  (684行目)

&init_z2h_euc unless defined $z2h_euc_inited;


&init_z2h_sjis unless %z2h_sjis;  (693行目)

&init_z2h_sjis unless defined $z2h_sjis_inited;
-------------------------------------------------------------------------------
ってなってる。
共通メニュー部分を別ファイルで管理して、サイト内ページに一気に反映させる方法

詳しくはこのページ参照
ネットビジネス便利ツール>共通メニュー簡単作成>PHPを使って共通部分を表示する



【SSIの場合】
メニュー部分のみ(<div id="manu>~</div>まで)をhtmlファイルにする。(menu.html)
メニューを表示させたいファイルの、表示させたい場所に<!--#include file="menu.html" -->と記述
↑の記述をしたファイルの拡張子を.shtmlに変える
アップロードして確認してみる
(※ローカルで確認済み)


【PHPの場合】
メニュー部分のみ(<div id="manu>~</div>まで)をhtmlファイルにする。(menu.html)
メニューを表示させたいファイルの、表示させたい場所に<?php include 'menu.html'; ?>と記述
↑の記述をしたファイルの拡張子を.phpに変える
アップロードして確認してみる
(※未確認)

忍者ブログ/[PR]

Template by coconuts