• ベストアンサー

z.htmlが呼ばれる度にz.plを実行するため

z.htmlを <html> <img src="http://xxx.com/z.pl width="0" height="0"/> Hello World. </html> としたのですがこれだとソース表示で http://xxx.com/z.pl が見えてしまいz.plの存在を知りを他人が自身のページにz.plのリンクを貼るとう悪さをされかねません z.htmlが呼ばれたときにz.plを実行する方法について http://xxx.com/z.pl を見えないようにする方法は無いでしょうか?

  • guuman
  • お礼率86% (1043/1206)
  • CGI
  • 回答数4
  • ありがとう数2

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

  • ベストアンサー
  • hikomin
  • ベストアンサー率63% (40/63)
回答No.3

HTML的に隠蔽する事は難しいと言うか、無理でしょう。ソースをブラウザに渡す事で表示しているわけで、ソースを隠してしまったら表示も出来ないわけです。 もしもサーバでSSIが使えるのであれば、SSIとしてプログラムを実行する事で隠蔽する事は出来ます。多分、この(サイズを0にする)書き方だと、画像を表示する事が目的ではないと思いますから、z.plの出力を適当に調整して、<!--#exec cgi=''-->等を用いて起動すれば、その出力が埋め込まれる形でソースが生成されます。(z.plでprint 'Hello World.';とかを行なうように変更してexecで呼べば、出力ソースはexecのかわりにHello Worldになります。)SSIはサーバ内でしか使えないので、サーバが違えばページに埋め込まれてしまう心配もありません。 HTMLとプログラムだけで解決したい場合は、現実的にはプログラム側でREFERERをチェックする程度の事しかなさそうです。(JavaScript等だと、より一層信頼が置けません。)

guuman
質問者

補足

ありがとうございます 多分SSIは使えないと思いますがNiftyに明日聞いて見ます

その他の回答 (3)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.4

niftyだとSSIもhtaccessも使えないので厳しいですね。 ・カウンタとして数値画像を表示する必要がある。 →不便かつ確実性がないのを承知でリファラのチェックをする。(リファラを偽装してしまえばそれまでなのでお勧めできないです。) ・カウンタとして数値画像を表示する必要がない。 →そのCGIがアクセスログのCGIとわからないようにする・・・サイトタイトルのようなどこのサイトにもありがちな画像を返すようにするとか。 # width=0 height=0の画像とか不自然な記述はたいていアクセスログ採ってるなってわかるので意味ないかも。 あとは、意外な部分でリンクドスタイルシートとしてCGIを実行するとか。 アクセスログに対するイタズラなんてその結果はログを気にして見ている管理人にしかわからないのでつまらないし、たかだか数値が正確でなくなるだけだし・・・気にしすぎだと思います。 不安定で元々正確なログが取れないならなおさら気に病む必要はないかと。

guuman
質問者

お礼

ありがとうございます やっぱりSSIは使えませんか とりあえずレファラを入れました 今回はたいしたことの無いアクセスログですがCGIを使っていると同じような問題にぶつかってしまいそうなので今後のためどうなっているか聞いてみました

回答No.2

いっそ Z.Htmlをパールから呼ばせればいいのでは?

guuman
質問者

お礼

ありがとうございます 使っているプロバイダの場合Perlの実行が不安定で 時々見つかりませんというメッセージが出るのです アクセスログの場合は休んでもいいのですが ページまで表示しない頻度が上がると大変です しかしその方法しかなさそうですね

guuman
質問者

補足

指摘の意味を誤解しているかもしれません Perlでz.htmlを読み取ってそれをプリント命令で出力すると言う意味でよいのでしょうか?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

SSIを利用して呼ばない限りはソースになんらかの パスは出てしまうと思います。 pl側で、自サーバ内、もしくは指定のhtmlファイル から呼ばれた場合にのみ実行するようにする方法が いいと思います。

guuman
質問者

補足

ありがとうございます 提案の方法を実現するために環境変数レファを使ったのですがこれが当てにならないようで困っています 環境変数レファ以外で参照しているページを知る方法は無いでしょうか?

関連するQ&A

  • バリューコマースのリンクについて

    <a Href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=xxx&pid=xxx" target="_blank" ><img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=xxx&pid=xxx" height="1" width="1" Border="0">自由テキスト</a> というソースを全てコピペしないといけないのでしょうか? できれば <a Href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=xxx&pid=xxx" target="_blank" >自由テキスト</a> こういう形にしたいのですが、これではダメなのでしょうか? <img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=xxx&pid=xxx" height="1" width="1" Border="0"> これの意味がよく分からないのです・・・

  • XOOPS カスタムブロックに htmlを配列

    始めまして! 初めて投稿させて頂きます。 XOOPSのカスタムブロックにhtmlで表示したいのですが、イメージ通り表示出来ないでおります。 htmlの知識も無い無謀者ですが、どうかご指導の程宜しくお願い致します。 【やりたい事】 ブロックの左側にアイコンに続きtxtを挿入、右側にイメージ画像のアフリエイトを配置したいのですが、表示がイメージ通り出来ません。 添付ファイル画像(1) ・配置したいイメージ 添付ファイル画像(2) ・現状 ・現状のソース <P><Div Align="left"><IMG src="file:///C:/Users/xxx/Desktop/folder858.png" width="24" height="24" border="0">test01<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/Desktop/folder858.png" width="24" height="24" border="0">test02<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx/folder858.png" width="24" height="24" border="0">test03<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx/folder858.png" width="24" height="24" border="0">test04<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx/folder858.png" width="24" height="24" border="0">test05<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx/folder858.png" width="24" height="24" border="0">test06<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx/folder858.png" width="24" height="24" border="0">test07<BR></Div> <Div Align="left"><IMG src="file:///C:/Users/xxx/xxx//folder858.png" width="24" height="24" border="0">test08<BR></Div> <Div Align="right"><script type="text/javascript"><!-- google_ad_client = "pub-xxxxxxxxx"; /* 200x200, 作成済み 09/06/15 */ google_ad_slot = "xxxxxx"; google_ad_width = 200; google_ad_height = 200; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script></Div> ご指導宜しくお願い致します。

  • preg_match_allで正規表現

    preg_match_allにて、次のように<img>が連続したソースから、 ※URLは全てダミーです <img src="http://a.com/a/a.jpg"><img width="10" src='http://b.com/b/b.gif' height="10"><img width="10" height="10" src='http://c.com/c/c.png"><img src=http://d.com/d/d.jpg><img src="http://e.com/hogefuga/e.jpg"> 個々のimgタグ全体と"<img~>"、 個々のsrc="~"のURLを抽出したいのですが、下記の条件でマッチさせることはできるでしょうか? 1. imgの属性位置・有無に問わず 2. 属性のくくりが、'" のどちらでも、または有無に問わず 3. src=~内に、"hogefuga"を含まないものにだけマッチ(否定形) 次のような正規表現で試したところ、 $pattern = '/<img.*?src=(\'|")?((?(?!hogefuga).)*\.(jpg|gif|png))(\'|")?.*?>/i'; 下のようにimgタグが1行づつ並んでいる場合は上手くいったのですが、連続して並んでいる場合は個々の、"<img~>"でマッチされませんでした。 ※URLは全てダミーです <img src="http://a.com/a/a.jpg"> <img width="10" src='http://b.com/b/b.gif' height="10"> <img width="10" height="10" src='http://c.com/c/c.png"> <img src=http://d.com/d/d.jpg> <img src="http://e.com/hogefuga/e.jpg"> 最終的にはsrc="~"のURLに応じて、画像をテキストリンクへ置換する、ということをしたいのですが、正規表現がよくわからず試行錯誤しています。 このような場合はどのような正規表現を書くべきなのでしょうか? どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • z-indexを使用した枠の設定について

    z-indexを使用して画像の枠を丸くしたいと思い、 参考URL→http://www.htmq.com/style/z-index.shtml を参考にしたのですが出来ません。 div.imageboxで作った角丸の枠を画像の上から重ねて画像を角丸にしたいのですが、どうすれば良いのでしょうか。 ちなみにcssやhtmlで画像を背景画像として扱うという方法は私事情で出来ません。申し訳ありません。この方法ならば簡単にできるのですが・・・ 下はそのソースです。お願いいたします。 <!-- css --> div.imagebox{       //枠の設定 height:150px; width:150px; display: inline-block; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; position:relative; z-index:2; }img.imagebox{      //画像のz-index設定 position:relative; z-index:1; } <!-- html --> <div class="imagebox"> <img src="画像" width="150" height="150" border="0" class="imagebox"> </div>

  • センタリングのHTMLの挿入場所

    お世話になっております。 前回の質問の追加をしようとしたのですが、うまくできず、新たにスレッドを立てました。すみません。 以下のHTMLは横並びに写真を載せたもの(数行あります)です。(上部に文章を載せるための式がありますが、カットしています。)このプログラムのどこにセンタリングの式を入れたらいいのか、私の知識ではわかりませんでした。またご教示もらえると助かります。 よろしくお願いします。 </DIV> <DIV style="top : 1313px; </DIV> <DIV style="top : 1473px;left : 327px; position : absolute; z-index : 3; " id="Layer8"><IMG src="button2.gif" width="81" height="35" border="0" alt="Back"></DIV> <DIV style="top : 1060px;left : 21px; position : absolute; z-index : 8; width : 698px; height : 123px; " id="Layer6">&nbsp;  <IMG src="DSC_19711.jpg" border="0" width="160" height="106"> <IMG src="DSC_20401.jpg" border="0" width="160" height="106"> <IMG src="DSC_20541.jpg" border="0" width="160" height="106"> <IMG src="DSC_21231.jpg" border="0" width="160" height="106"></DIV> <DIV style="top : 883px;left : 15px; position : absolute; z-index : 7; width : 649px; height : 165px; " id="Layer5">&nbsp;   <IMG src="DSC_19311.jpg" border="0" width="160" height="106"> <IMG src="DSC_19381.jpg" border="0" width="160" height="106"> <IMG src="DSC_19411.jpg" border="0" width="99" height="149"> <IMG src="DSC_19631.jpg" border="0" width="160" height="106"></DIV> <DIV style="top : 572px;left : -3px; position : absolute; z-index : 5; " id="Layer3"> <DIV> <TABLE border="0" cellpadding="15" width="725" height="147"> <TBODY> <TR> <TD height="113" width="549" align="center" style="position : relative;table-layout : auto;">&nbsp;   <IMG src="DSC_17481.jpg" border="0" width="160" height="106"> <IMG src="DSC_18051.jpg" border="0" width="160" height="106"> <IMG src="DSC_18151.jpg" border="0" width="160" height="106"> <IMG src="DSC_18351.jpg" border="0" width="160" height="106"></TD> </TR> </TBODY> </TABLE> </DIV> </DIV> <DIV style="top : 729px;left : 12px; position : absolute; z-index : 6; " id="Layer4"> <DIV> <TABLE border="0" cellpadding="15" width="725" height="147"> <TBODY> <TR> <TD height="113" width="549" align="center" style="position : relative;table-layout : auto;">&nbsp;<IMG src="DSC_18421.jpg" border="0" width="160" height="106"> <IMG src="DSC_18641.jpg" border="0" width="160" height="106"> <IMG src="DSC_18941.jpg" border="0" width="160" height="106"> <IMG src="DSC_19201.jpg" border="0" width="160" height="106"></TD> </TR> </TBODY> </TABLE> </DIV> </DIV> </BODY>

  • Javaスクリプトで要素の表示・非表示の制御

    すみません。大変困っています。どなたかお分かりになられます方がいらっしゃいましたら、どうかご享受いただけませんでしょうか? javascriptの記述方法についてとなります。 制御したいソースコードは下記の通りです。 <ul id="img_box"> <li><img src="../images/p1.jpg" width="100" height="50" /></li> <li><img src="../images/p2.jpg" width="100" height="50" /></li> <li><img src="../images/no.jpg" width="100" height="50" /></li> </ul> 上記のソースコードの表示・非表示ですが、imgタグの中のファイル名がno.jpgだった場合のみに<li>から</li>をdisplayをnoneとして出力したいです。 javascript適用後のソースコードは下記になるようにしたいのですがご享受いただけませんでしょうか? <ul id="img_box"> <li><img src="../images/p1.jpg" width="100" height="50" /></li> <li><img src="../images/p2.jpg" width="100" height="50" /></li> </ul> お手数をおかけいたしますが、何卒よろしくお願い致します。

  • 一瞬画像が

    現在、jQueryを使って、以下のようなフラッシュもどきのギャラリー表示を作っていますが このソースをSleipnirというブラウザで実行し、リロードをすると、一瞬画像が縦に並んでしまい 一瞬とはいえ、見た目がくずれてしまいます。 これをくずれないように表示するにはどうしたらよいのでしょうか? どなたか、よいお知恵をお願いいたします。 <!doctype html> <html> <head> <title>JQuery Cycle Plugin - Example Slideshow</title> <!-- include jQuery library --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <!-- include Cycle plugin --> <script type="text/javascript" src="jquery.cycle.all.min.js"></script> <!-- initialize the slideshow when the DOM is ready --> <script type="text/javascript"> $(document).ready(function() { $('.slideshow').cycle({ fx: 'fade' , timeout: 8000 , speed: 500 // choose your transition type, ex: fade, scrollUp, shuffle, etc... }); $('.slideshow2').cycle({ fx: 'fade' , timeout: 4000 , speed: 4000 // choose your transition type, ex: fade, scrollUp, shuffle, etc... }); $('.slideshow3').cycle({ fx: 'fade' , timeout: 2000 , speed: 8000 // choose your transition type, ex: fade, scrollUp, shuffle, etc... }); }); </script> </head> <body> <div style="width:900px;"> <div class="slideshow2" style="float:left;"> <img src="images/common/a1.jpg" width="300" height="300" /> <img src="images/common/a2.jpg" width="300" height="300" /> <img src="images/common/a3.jpg" width="300" height="300" /> <img src="images/common/a4.jpg" width="300" height="300" /> <img src="images/common/a5.jpg" width="300" height="300" /> <img src="images/common/a6.jpg" width="300" height="300" /> <img src="images/common/a7.jpg" width="300" height="300" /> <img src="images/common/a8.jpg" width="300" height="300" /> <img src="images/common/a9.jpg" width="300" height="300" /> <img src="images/common/a10.jpg" width="300" height="300" /> <img src="images/common/a11.jpg" width="300" height="300" /> </div> <div class="slideshow" style="float:left;"> <img src="images/common/b1.jpg" width="300" height="300" /> <img src="images/common/b2.jpg" width="300" height="300" /> <img src="images/common/b3.jpg" width="300" height="300" /> <img src="images/common/b4.jpg" width="300" height="300" /> <img src="images/common/b5.jpg" width="300" height="300" /> <img src="images/common/b6.jpg" width="300" height="300" /> <img src="images/common/b7.jpg" width="300" height="300" /> <img src="images/common/b8.jpg" width="300" height="300" /> <img src="images/common/b9.jpg" width="300" height="300" /> <img src="images/common/b10.jpg" width="300" height="300" /> <img src="images/common/b11.jpg" width="300" height="300" /> <img src="images/common/b12.jpg" width="300" height="300" /> </div> <div class="slideshow3" style="float:right;"> <img src="images/common/c1.jpg" width="300" height="300" /> <img src="images/common/c2.jpg" width="300" height="300" /> <img src="images/common/c3.jpg" width="300" height="300" /> <img src="images/common/c4.jpg" width="300" height="300" /> <img src="images/common/c5.jpg" width="300" height="300" /> <img src="images/common/c6.jpg" width="300" height="300" /> <img src="images/common/c7.jpg" width="300" height="300" /> <img src="images/common/c8.jpg" width="300" height="300" /> <img src="images/common/c9.jpg" width="300" height="300" /> <img src="images/common/c10.jpg" width="300" height="300" /> <img src="images/common/c11.jpg" width="300" height="300" /> </div> </div> </body> </html>

  • テーブルで画像を並べるときに・・

    今ホームページをつくっていて 幅600pxのロゴ(jpg画像)の下に幅280px,80px,80px,80px,80px画像を並べています。 全部の画像をぴったりくっつけたいんですが、上のロゴと下の5つ並んだ画像の間に1pxくらいの隙間が出来てしまいます。 ソースは <table width="600" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="5"> <img src="img/title.jpg" width="600" border="0"> </td> </tr> <tr> <td> <img src="img/1.jpg" width="280"height="35" border="0"> </td> <td> <img src="img/2.jpg" width="80" height="35" border="0"> </td> <td> <img src="img/3.jpg" width="80" height="35" border="0"> </td> <td> <img src="img/4.jpg" width="80" height="35" border="0"> </td> <td> <img src="img/5.jpg" width="80" height="35" border="0"> </td> </tr> </table> http://web-channel.com/index.html このホームページのようにしたいんですがどこを直したらいいんでしょうか? 環境は、WinMEでエディタにタグ打ち込んで作ってます。

    • ベストアンサー
    • HTML
  • CSSでfloat指定した画像に隙間

    floatの指定をすると並べた画像に隙間ができます。 div aで外を囲み、幅を400px固定し、 その中にli(幅200px)を放り込んでいます。 (幅400pxの入れ物に200pxの小箱を2列に並べていく) 画像をfloatさせなければ隙間は出ないのですが、下記cssのようにfloatさせると幅400pxにIEだけ収まりません。 WinXP・irefox1.0やOpera7.5では意図通り表示されます。。 どなたか解決策お持ちの方よろしくおねがいします。 <html> <head> <title></title> <style type="text/css"> <!-- #a{ width:400px; margin: 0 auto; padding:0; } li{ width:200px; padding:0; list-style:none; float:right; display: inline; } img{ border:none; margin:0; padding:0; vertical-align:top; float:left; ←これの有無で不具合 } --> </style> </head> <body> <div id="a"> <dl> <li> <img src="xxx.jpg" width="150" height="200" /><img src="xxx.jpg" width="50" height="100" /><img src="xxx.jpg" width="50" height="100" /></li> <li> <img src="xxx.jpg" width="150" height="200" /><img src="xxx.jpg" width="50" height="200" /></li> </dl> </body> </html>

    • ベストアンサー
    • HTML
  • tableがずれる理由がわかりません

    上のテーブルはずれないのですが 同じレイアウトの下のテーブルはずれます。 widthの指定がききません。 なぜでしょう?? 前からこの現象はしていたのですが理由が知りたいです。 <table border="1" cellpadding="0" cellspacing="1"> <tr height="10" bgcolor="#cccccc"> <td width="50" bgcolor="#ffffff" colspan="5"><img src="../../img/spacer.gif" width="50" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="30" bgcolor="#ffffff" colspan="3"><img src="../../img/spacer.gif" width="30" height="10"></td> <td width="20" colspan="2"><img src="../../img/spacer.gif" width="20" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="10" bgcolor="#ffffff"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="40" colspan="4"><img src="../../img/spacer.gif" width="40" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="10" bgcolor="#ffffff"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="10"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="10"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="10"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="10"><img src="../../img/spacer.gif" width="10" height="10"></td> </tr> </table> <br /> <br /> <table border="1" cellpadding="0" cellspacing="1"> <tr height="10" bgcolor="#cccccc"> <td width="50" bgcolor="#ffffff" colspan="5"><img src="../../img/spacer.gif" width="50" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="30" bgcolor="#ffffff" colspan="3"><img src="../../img/spacer.gif" width="30" height="10"></td> <td width="20" colspan="2"><img src="../../img/spacer.gif" width="20" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="10" bgcolor="#ffffff"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="40" colspan="4"><img src="../../img/spacer.gif" width="40" height="10"></td> </tr> <tr height="10" bgcolor="#cccccc"> <td width="10" bgcolor="#ffffff"><img src="../../img/spacer.gif" width="10" height="10"></td> <td width="40" colspan="4"><img src="../../img/spacer.gif" width="40" height="10"></td> </tr> </table>

専門家に質問してみよう