ASP クラシック コードを MySQL データベースに保存し、プルされたときにコードを実行させることは可能ですか?たとえば、変数名を文字列に保存し、それを表示する前に ASP を実行するようにしますか? MySQL リクエストはページがロードされた後に実行されるため、返されるデータは実行されず、変数名だけが実行されるため、これは不可能ではないかと思います。もう 1 つは、HTML エンコーディングである可能性があり、MySQL サーバーに渡した後にエンコードされる可能性がありますが、今のところは変数名を読み取るだけです。これについて何かアイデアはありますか。これは不可能ですか、それとも何らかの方法でエンコードを解除していますか:
他の場所で機能する Chr 置換関数を使用して、このようにコーディングしようとしましたが、関数は次のように使用されます。 リーリー
エンコードが試行されたかどうかに関係なく、結果には以下に示すように ASP クラシック コードのみが表示されます。 リーリーエンコードによって画面に表示される文字列が変更されているようには見えませんが、ログ結果には、データを入力する代わりに次のように文字タイプを変換するエンコード試行が示されています。 リーリー
この機能は、現時点では私にとっては困難です。なぜなら、より簡単な方法は、私がやったように文字列をデータベースに保存し、データベースに変数を入力するのではなく、文字列を取り出した後に文字列に変数を追加することだからです。もちろん、これはユーザーがエラー メッセージに関連付けられた変数を介してエラー メッセージを制御できないことを意味しますが、それでも許容できると思います。
はい、可能です。 Classic ASP には、ソース コードを含むテキスト文字列を渡すことができる Eval、Execute、および ExecuteGlobal メソッドが用意されています。
これを公開 Web サイトで行うのは危険です。ネットワーク ワームがデータベース テーブルに任意のコードを書き込む方法を知っている場合、アプリケーションを中断、破損、またはハイジャックする可能性があります。あなたは偏執的ではありません。積極的な見知らぬ人が実際にあなたに対して陰謀を企てており、そのように運営されているサイトを探しています。気をつけて。
Eval(codeText) 式を実行し、結果を返します。 ExecuteGlobal(codeText) 最上位コンテキスト内にあるかのように実行します。 Execute(codeText) 呼び出されたコンテキスト (サブルーチンまたは関数) で実行します。