0

PHPインストールでアクセスして書き込みできるようにしたいファイル(「log.html」と呼ばれる)がiis7.5サーバーにありますが、たとえば入力するなど、誰にもファイルに直接アクセスさせたくありません。 ' http://computername/log.html '(私はLAN上にいます)。

ユーザーがアクセスできないようにして、phpに表示させるにはどうすればよいですか?

以下に提案されているweb.configファイルを使用すると、次のエラーが発生します。 web.configエラー

4

2 に答える 2

1

IIS URL書き換えを使用して、要求ブロックルールを作成し、 HTTPを介したアクセスを防ぐことができます。

例えば:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="BlockLogFile" 
              patternSyntax="Wildcard" 
              stopProcessing="true">
          <match url="*" />
          <conditions>
            <add input="{URL}" pattern="/log.html" />
          </conditions>
          <action type="CustomResponse" 
                  statusCode="403" 
                  statusReason="Forbidden: Access is denied." 
                  statusDescription="This is sekret!" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
于 2012-06-19T01:24:36.103 に答える
1

自分の質問に答えたのではないかと思います!私はまだもう少しテストする必要があり、おそらくそれが完全に機能しない場合は、誰かが私を修正する可能性があります:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="cache-control" value="no-store, no-cache, must-revalidate, max-age=0" />
            </customHeaders>
        </httpProtocol>
        <staticContent>
            <clientCache cacheControlMode="DisableCache" />
        </staticContent>
        <security>
            <requestFiltering>
                <denyUrlSequences>
                    <add sequence="log.html" />
                </denyUrlSequences>
            </requestFiltering>
        </security> 
    </system.webServer>
</configuration>

キャッシュ制御ビットは、ブラウザが返したものをキャッシュするのを防ぎます。

これが他の誰かに役立つことを願っています!私はまだこれに非常に慣れていないので、あなたはこれを回避することができるかもしれません。

于 2012-07-17T16:57:50.560 に答える