誰もが知っているように、FilesystemObjectコンポーネントの強力で破壊的な性質は、多くの場合自由に使用できることです。
プロバイダー(ASPをサポートするもの)の無効化の理由を整理し、2つの方法しか見つけませんでしたが、後で
私が誰かに刺激されたとき、私は3番目の未知の方法について考えました。ハハ、これが事実かどうかはわかりません。
最初のタイプ:regsrv32/u c:/windows/system/scrrun.dll(win98パス)を使用してグループからログアウトします
。この方法は残酷すぎて、一緒に死ぬ方法に属します。誰もそれを使用することはできません。それはトリックです
2番目のタイプ:ProGIDの値を変更します。 ASPのコンポーネントを呼び出す方法は、通常、オブジェクト名=サーバーに設定されます。
CreateObject(Progid)、この時点で、レジストリのProGID値を変更して到達することができます
コンポーネントを無効にする方法に。 start-runでregeditをタッチして、hkey_classes_rooを見つけます
t/scripting.filesystemObject、次に、ProGIDの値を変更できます。
Scripting.filesystemObject8へ。これはASPページで呼び出されます:
<%@言語= vbscript%>
<%
fs = server.createobject(scripting.filesystemobject8)を設定します
%>
(以前にこのコンポーネントに電話したことがない場合は、再起動する必要がなく、効果を確認できます。
開始後の効果を見てください。 ))
この時点で、元の通話方法を使用した結果を見てみましょう。
<%@言語= vbscript%>
<%
fs = server.createObject(scripting.filesystemObject)を設定します
%>
現時点での操作結果は次のとおりです。
サーバーオブジェクトエラー 'ASP 0177:800401F3'
server.createObjectが失敗しました
/aspimage/testfile2.asp、行3
800401F3
(わかりました、私たちの要件を満たしています)
私は2歩遅れていたので、他の人はこの方法に答えるために急いでいたので、それは私を大いに刺激しました。
3番目の方法が生成されます。
3番目のタイプ:慎重な専門家は、ProGID値を変更することでコンポーネントを無効にできるため、CLSIDは
変更できますか? (わかりました、あなたは私と同じと思います)createObjectメソッドを除いて、私たちはそれを知っています
さらに、一般的な<Object>アノテーションを使用してコンポーネントを作成することもできます。 ASPでHTMを使用できます。
l's <Object>タグWebページにコンポーネントを追加します。方法は次のとおりです。
<object runat = server id = fs1 scope = page progid = scripting.filesystemobj
ect> </object>
Runatとは、サーバー側で実行されることを意味します。スコープはコンポーネントのライフサイクルを意味し、セッションとApplを使用できます。
ecisionまたはページ(現在のページを表します。これはデフォルトにすることもできます)
この書き方は私たちにとって役に立たず、別の書き方は次のとおりです。
<object runat = server id = fs1 scope = page classid = clsid:clsid> </objの値
ECT>
レジストリでhkey_classes_roなど、CLSIDの値を変更することにより、コンポーネントを無効にすることもできます。
OT/SCRIPTING.FILESSYSTEMOBJECT/CLSID値0D43FE01-F093-11CF-8940-00A0C90
54228この時点で、543FE01-F093-11CF-8940-00A0C9054229(最後のビットを変更)に変更しました
ライティング方法は次のとおりです。
<object runat = server id = fs1 scope = page classid = clsid:0d43fe01-f093-11
CF-8940-00A0C9054229> </object>