私は小規模なプロジェクトに取り組んでおり、チーム メンバーが非運用サーバーでポート ノックを行い、SSH トラフィック用にポート 22 を開くための代替方法を提供する必要があります (アクセスは 10 分後に再び閉じられます)。ノックのいくつかの方法は、さまざまなデバイスのさまざまなユーザーには機能しないため、スタンドアロンの Web ページとして開いてノック シーケンスを開始できる「最終手段のノック クライアント」を作成する必要がありました。もちろん、セキュリティ上の理由から、このファイルを Web サーバーに置くことは決してありません。
jQuery、javascript、および CSS は初めてですが、これを機能させることができました。ただし、すべてのブラウザーで機能するわけではなく、特定のマシンで機能しなくなった場合は、再起動する必要がある場合があります。
多くの検索を行った後、すべての機能を 1 つの html ファイル内に保持しながらコードを改善する方法が本当にわかりません。ご意見をいただければ幸いです。
<!DOCTYPE HTML>
<html>
<head>
<title>Gain Access- Beta version 1.0</title>
<style>
* {
font-family: Verdana, Arial, Sans-Serif;
}
#top{
margin-left:80px;
}
#heading {
margin-left: 0px;
font-size:22px;
font-weight:bold;
}
#subhead {
margin-left: 10px;
font-size:12px;
}
button {
font-size:16px;
margin-left:100px;
}
#button {
font-size: 12px;
font-family: Verdana, Arial, Sans-Serif;
position: absolute;
margin-left: 100px;
margin-top: 50px;
}
#status {
margin-left:90px;
margin-top: 80px;
position: absolute;
font-size:16px;
font-weight:bold;
}
#knocks {
margin-left:110px;
margin-top: 100px;
position: absolute;
font-size:14px;
color:blue;
}
#portals {
position: absolute;
margin-left: 110px;
margin-top: 155px;
display:none;
}
.tinyimg {
width: 1px;
height: 1px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('button').click(function(){
$('#knocks').append('<p>Knocking...</p>');
setTimeout(function(){
$('#portals').append('<img class="tinyimg" src="https://some.url.com:1111/test/url.jpg/" />');
$('#knocks').append("<p>Knock 1 of 5 complete...</p>");
}, 500);
setTimeout(function(){
$('#portals').append('<img class="tinyimg" src="https://some.url.com:2222/test/url.jpg/" />');
$('#knocks').append("<p>Knock 2 of 5 complete...</p>");
}, 3500);
setTimeout(function(){
$('#portals').append('<img class="tinyimg" src="https://some.url.com:3333/test/url.jpg" />');
$('#knocks').append("<p>Knock 3 of 5 complete...</p>");
}, 6500);
setTimeout(function(){
$('#portals').append('<img class="tinyimg" src="https://some.url.com:4444/test/url.jpg" />');
$('#knocks').append("<p>Knock 4 of 5 complete...</p>");
}, 9500)
setTimeout(function(){
$('#portals').append('<img class="tinyimg" src="https://some.url.com:5555/test/url.jpg/" />');
$('#knocks').append("<p>Knock 5 of 5 complete...</p>");
}, 12000);
setTimeout(function(){
$('#knocks').append("<p>Knocking is complete... <br>Proceed to site: <a href='http://secureurl.someurl.com'>http://secureurl.someurl.com/a></p>");
}, 13000);
});
});
</script>
</head>
<body>
<div id="top">
<p><span id="heading">Gain Access</span><br><span id="subhead">Beta version 1.0</span></p>
</div>
<button type="button">Click to Knock</button>
<div id="portals"></div> <!--The image references created by the port knocks land in this div.-->
<p id="status">Status:</p>
<div id="knocks"><p>Click button to knock</p></div> <!--The status updates generated concurrently with each port knock are displayed here.-->
</body>
</html>