推奨:ASPチュートリアル:単純なAJAXの例ASPチュートリアル:AJAX index.aspに関する簡単な例:プログラムコードHTMLヘッドメタhttp-equiv = content-type content = text/html; charset = gb2312 /titleajaxシンプルアプリケーション /タイトルスクリプト言語= javascript // xmlhttprequestオブジェクトvar request = false; {re
2日前、私はエンタープライズ検索エンジンの現場バージョンに取り組んでいましたが、一部のサイトがサイトコンテンツにリンクできることがわかりました。 。
私はそれを奇妙に見て、データベースIDの自動番号付けルールに従ってリンクされていることが判明しました~~
私は暇なときに以下をやったことがあります。将来のすべての人に役立つことを願っています。
<%
'' //指定された数字の乱数を生成します
'' // Guidyで記述されたixuer_rnd_str関数を使用することもできます。
function rndstr(strlong)
薄暗いtempstr
ランダム化
len(rndstr)<strlongを実行します
tempstr = cstr(chr((57-48)*rnd+48))
rndstr = rndstr&tempstr
ループ
rndstr = rndstr
エンド関数
%>
以下は、request.formの例としてフォームフォームで送信されたパラメーターです。渡す必要があるパラメーターのドーションの元の値は、データベースから読み取られるIDです。
<form name = iform action = abc.asp method = post>
<input name = doaction type = hidden value = <%= rndstr(10)%> <%= rs(id)%> <%= rndstr(10)%>>
</form>
知らせ:
上記のdoactionの値は変更されており、ページが更新されるたびに得られる値は異なります~~
以下はABC.ASPページです
最初に、doactionの値を取得します
doaction = trim(request.form(doaction))
以下に、IsNumericなど、いくつかの検証を自分で追加できます。
次に、Doactionの価値を分解しましょう
dim lastid
doaction = mid(doaction、11)
lastid = mid(doaction、1、len(doaction)-10)
中間関数に精通している場合、上記のコンテンツは簡単に推測できますが、簡単ではありませんか?
実際の例は次のとおりです。
データベースの元のドクションによって渡されるIDの値(フィールドタイプは自動的に番号が付けられています)は次のとおりです。
説明:
11 in mid(doaction、11)は、多くのランダムな文字 + 1を生成します
lastid = 10 in mid(doaction、1、len(doaction)-10)は、指定された数で生成されるランダム文字の数です!
dim lastid
doaction = 3614354944348151287527 - 偽装後のID値(数として検証できます)
doaction = mid(doaction、11)
lastid = mid(doaction、1、len(doaction)-10)
lastId = 34
私は実験しましたが、ランダムに生成された文字と数字で使用すると、MD5と同様の値として完全に偽造できます!
条件は1つだけで、ランダムな文字のビット数を指定する必要があります。
ハハ、今では誰もがresponse.writeの最後の値を出力して、それが再びデータベースのIDであるかどうかを確認できますか?
この方法は、ビデオパラメーターを暗号化およびダウンロードするために使用できます。たとえば、政府の公式文書循環システムを構築した場合は、ファイルを使用することもできます。
同じことは、request.querystringの場合です!コピーしましょう...
上記は、ASPプログラムを書く際の私の小さな経験です。欠点があれば私を修正してください!
共有:ASPページの収集防止を実装します泥棒があなたと集めてコミュニケーションをとらないようにするコードを書きました!使用法:(no.asp)などのファイルを個別に保存します。対応するASPページのヘッドで使用してください! % '**********************************************************************************************************************************つ**************************************************************************************************************************************************************************つ****************************************************************************************************************************************************************** **************************************************************************************************************************************************************************つ****************************************************************************************************************************************************************** **************************************************************************************************************************************************************************つ**************************************************************************************************************************************************************************つ**************************************************************************************************************************************************************************つ