
OWASPトップ10- 2017の概念を教えるための真剣に欠陥のあるJavaプロジェクト。
DO NOT USE ANY PART OF THIS CODE IN PRODUCTION.
これらの指示により、プロジェクトのコピーを作成して、開発とテストの目的でローカルマシンで実行します。
必要です:
JDKをインストールし、環境変数を構成するJAVA_HOMEとPATH適切に構成します。いくつかのガイドラインは、このStackOverFlow Postで提供されています。
コマンドプロンプトを開き、すべてがスムーズに機能することを確認してください。

MySQLを解凍し、 binディレクトリに移動します。次のコマンドを実行します(生産環境にはお勧めしません):
mysqld --initialize-insecure
このコマンドは、データディレクトリを初期化し、空のパスワードを使用して'root'@'localhost' superuserアカウントを作成します。
Windowsマシンにサービスをインストールするには、実行してください。
mysqld --install
最後に、サービスを開始するには、実行してください。
sc start mysql
インストールが成功したかどうかを確認するには、コマンドmysql -urootを発行します。 
exit 、 Enterを押してMySQLコンソールから抜け出します。
サンプルデータベースを作成し、サンプルデータを入力する必要があります。 SQLファイルはtestdb.sqlと呼ばれます。 mysql binディレクトリにダウンロードし、そこから次のコマンドを実行します。
mysql -uroot < testdb.sql
すべてがスムーズに進む場合は、コマンドを発行して、以下に示すように結果を確認できます。

最後に、空のパスワードはPayara Serverによって受け入れられないため、 rootパスワードを123456に変更します(次のステップ)。パスワード自体と、パスワードを変更するための次の方法は完全に不安定であることに注意してください。
mysqladmin --user=root password "123456"
Payara ServerとMySQL Connector/jをダウンロードして抽出します。後者をC:tmpmysql-connector-java-8.0.18.jarに抽出しました。
JDK-11のインストールと構成の指示に従ってください。次のコマンドを使用してPayaraサーバーを開始します。
asadmin start-domain
次に、mysqlコネクタ/jをインストールします。
asadmin add-library C:tmpmysql-connector-java-8.0.18.jar
これが物事がどのように見えるべきかについてのスナップショットです:

Payara Webコンソールを開き、 Resources → JDBC → JDBC Connection Poolsに移動します。 New Butttonをクリックします。

ステップ1については、次のように情報を正確に記入してください。

ステップ2の場合、 Additional Propertiesが表示されるまで下にスクロールします。

次のプロパティを設定する必要があります(アルファベット順にソート)。
allowPublicKeyRetrieval - クライアントがサーバーから公開キーを自動的に要求することが許可されているかどうか。 trueに設定します。 (生産環境では推奨されていません)DatabaseName - 接続するデータベースの名前。この場合、 testdb 。Password :指定されたユーザーのパスワード。ここでは、 123456です。ServerName :mysqlサーバーの場所。この場合、 localhost 。sslMode :SSLがMySQLサーバーに接続するために使用されるかどうか。 DISABLEDに設定します。 (生産環境では推奨されていません)URLとUrl :使用するJDBC URL。ここで、 jdbc:mysql://localhost:3306/testdb 。User :データベースに接続するためのユーザー名。ここで、それはroot 。 Finishボタンを押します。新しく作成された接続プールをクリックします。 General ]タブで、 Pingボタンをクリックします。すべてが正しい場合は、次のことを確認する必要があります。

同様に、 MySQL_readonly_Poolという別の接続プールを作成します。ステップ1は、以前の接続プールと同じです。ステップ2の場合、 Additional Propertiesを次のように設定します。
allowPublicKeyRetrieval: true 。DatabaseName: testdb 。Password: MyVeryLongPassphrase 。ServerName: localhost 。sslMode: DISABLED 。URL: jdbc:mysql://localhost:3306/testdb 。Url: jdbc:mysql://localhost:3306/testdb 。User: readonly 。 JDBCリソースをセットアップする必要があります。 Resources → JDBC → JDBC Resourcesに移動し、 Newをクリックします。次のようにフォームに記入してください:
JNDI Name: jdbc/MySQL_root_DataSourceConnection Pool: MySQL_root_Pool
同様に、2番目の接続プールでこれを行います。
JNDI Name: jdbc/MySQL_readonly_DataSourceConnection Pool: MySQL_readonly_Pool最後に、次のコマンドを発行して、Payaraサーバーを停止します。
asadmin stop-domain
Intellij Ideaがサーバーを自動的に起動するため、これは行われます。
Intellijのアイデアでプロジェクトを開きます。 Web framework is detectedことを通知します。

Configureをクリックして、 Setup Frameworksウィンドウを開きます。次に、[OK]をクリックするだけです。

Run → Edit Configurations...を選択します。 Templates → GlassFish Server → Local 。 Configureをクリックします:

GlassFish Homeを選択します。正しく選択した場合、IntellijはGlassFish Version自動的に検出します。

OKをクリックします。 Server Domainドロップダウンボックスから、 domain1を選択します。

Applyクリックします。これで、複数のプロジェクトで使用できる適切なGlassfishテンプレートができました。ただし、各プロジェクトでは、枯渇する「アーティファクト」を構成する必要があります。この目的のために、左上で+をクリックし、 GlassFish Server → Localを選択します。

下部では、IntellijはNo artifacts configuredことを警告します。 Fixボタンをクリックするだけです。

次に、 Artifactsウィンドウで、 +サインをクリックして、 Web Application Exploded → From Modules

利用可能な唯一のモジュール、つまり、 OWASP-JAVAを選択し、[OK]をクリックします。

[OK]をクリックして、 Run/Debug Configurationsに戻ります。下部には、もう1つの警告が表示されます。 Debug settings are invalid or not suitable for local debugging 。 Fixボタンをクリックすると、Intellijがそれの世話をします。

これでプロジェクトを実行できます。 Intellijはデフォルトのブラウザを自動的に開き、 http://localhost:8080/OWASP_Java_war_exploded/ :に移動します。

次の資格情報を入力してください。
kambiz1すべてが正しく機能する場合、ユーザーホームページにリダイレクトされます。

そうしないと、Intellijが報告したように、何がうまくいかなかったかを確認するために、Glassfishの丸太を見る必要があるかもしれません。

ちなみに、Grep Consoleプラグインを使用して、ログを簡単に分析します。