Basic 인증(기본 인증)은 어색했기 때문에 다른 방법을 생각해 보았다.

웹 디자이너 아야오리코입니다.

WEB 디자이너는 전직할 때 포트폴리오를 만들지만, 일로 만든 작품은 과연 일반 공개할 수 없습니다.

그 때 열쇠를 걸어야 하지만 DB를 사용하여 암호를 관리하는 손쉬운 프로그래밍은 무리입니다.

그런 때에 사용되는 주된 방법이 Basic 인증(기본 인증)입니다.
htps : // 아아보우 t. 이. jp/gm/gc/23780/

하지만 난 웹 디자이너.
앱 로그인 화면처럼 HTML로 디자인하고 싶습니다! !

그렇게 생각해, 이번은 Basic 인증(기본 인증)을 사용하지 않고 열쇠를 걸 수 있는 방법을 찾았습니다.

자바 스크립트이지만 들키지 않고 열쇠를 붙이는 방법



RSA 공개키등의 방법도 있습니다만, 라이브러리를 사용하지 않고 가능한 한 간단하게 열쇠를 걸고 싶습니다.

검색한 가운데 내가 좋다고 생각한 방법이 이 사이트에 쓰여졌습니다.
htps : // 아아보우 t. 이. jp/gm/gc/23839/

버튼을 누르면 비밀번호를 입력하는 경고가 표시되고,
문자를 입력하면 입력한 문자 +.html 파일이 표시되는 구조입니다.

이 기능을 사용하여 입력 양식처럼 암호를 입력하는 데 도전했습니다.

※ 꽤 엄중하게 열쇠를 걸고 있습니다만, 절대 괜찮은지는 확실하지 않습니다. 자기 책임으로 부탁드립니다.

로그인 페이지를 만드는 방법



로그인할 페이지를 login.html이라고 합니다.
외형으로서는, 이러한 이미지가 됩니다.


또한 비밀번호를 입력한 후 비밀번호 페이지를 password.html이라고 합니다.

HTML



로그인할 부분의 HTML입니다.

form 태그의 onsubmit="return false;"가 중요한 포인트입니다.
이것을 지정하지 않고 Enter 버튼을 누르면 POST 송신되어 버려, 제대로 페이지 천이를 할 수 없는 경우가 있습니다.

login.html

<body>
  <h1>パスワードを入力してください</h1>
  <form name="pwform" onsubmit="return false;">

    <!-- パスワードを入力する -->
    <input type="password" name="txtb" value="">

    <!-- 送信したらjavascriptのtbox()の中身が動く -->
    <input type="button" value="送信" onclick="tbox()">

        <!-- 送信したらjavascriptのclr()の中身が動く -->
    <input type="button" value="リセット" onclick="clr()">

  </form>
<body>

또한 비밀번호 페이지는 검색 로봇을 연주하는 설정을 작성합니다.

※.htaccess 파일에도 마찬가지로 연주하는 설정을 씁니다만, 100% 연주하는 보증이 없기 때문에, 만일에는 마음을 넣어 중복시켜 쓰고 있습니다.

password.html
<meta name="robots" content="noindex">

.htaccess 파일



그런 다음 .htaccess 파일을 편집합니다.
.htaccess를 설치하면 인증, 전송, 제한 등을 볼 때 기능을 설정할 수 있습니다.

여기에서는 검색 봇을 연주하고 로그인 페이지의 외부 액세스 금지를 설정합니다.

.htaccess

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>

order deny,allow

# パスワードページ(password.html)の場合
<Files password.html>

# 検索ボットの巡回を弾く設定
SetEnvIf User-Agent "Googlebot" shutout
SetEnvIf User-Agent "Slurp" shutout

# ログインページ(hogehoge.comは、自分のサイトのURLに設定する)
SetEnvIf Referer "^https://hogehoge\.com/login.html" ref_ok
SetEnvIf Referer "^http://hogehoge\.com/login.html" ref_ok

order Deny,Allow
Deny from all
allow from env=ref_ok

</Files>


자바스크립트



마지막으로 javascript를 작성합니다.

login.html
    // onclick="tbox()" が押されたら
    function tbox(){

       // <form name="pwform">内の <input name="txtb"> の値を取得
       var str = document.pwform.txtb.value;

       // もし <input name="txtb"> の値が半角英数字以外だったら、アラートを出す
       if( /\W+/g.test(str) ) {
          alert("半角英数字のみを入力して下さい。");
       }

       // もし <input name="txtb"> の値に何かしら入っていたら、入力値.htmlに移動する
       else if( str != null ) {
            location.href = str + ".html";
       }

    }

    // onclick="clr()" が押されたら、フォームの値を消す
    function clr(){
      document.pwform.txtb.value="";
    }


완성



Javascript인데 들키지 않고, 디자인할 수 있는 로그인 페이지를 만들 수 있었습니다! ! !

좋은 웹페이지 즐겨찾기