フォーラムの皆さま
平素より大変お世話になっております。
concrete5のシステムセキュリティに関することですので、ご回答
いただけるか不明でございますが、質問させていただきます。
concrete5にメンバーを登録した際、MySQL側の「Users」テーブル
に、作成したメンバー情報が登録されていることを確認いたしました。
アドオンの「Export User CSV」でデータをエクスポートし、適当な
メンバーを追加して、今度は「Import User CSV」でインポートした
のち、MySQLの「Users」テーブルを確認しますと、「uPassword」
フィールドにハッシュ化されたパスワード文字列らしきものが見えました。
そこで質問でございますが、
「Users」テーブルに表示されている「uPassword」の完全形を確認
する方法はございませんでしょうか?
また、uPasswordが万一判明したとして、その文字列をデコードして
ログイン画面からログインできるものでしょうか?
concrete5では、パスワードは必ずメンバーがパスワードを新規発行して
運用することは理解しておりますが、「Users」テーブルに自動生成され
ている「uPassword」が気になります。
ご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
【環境情報】
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 5.1.73
SQL Mode:
# concrete5 Packages
CSV User Import & Export (0.1.1), Honest Websites Back To Top (1.1.0), Login/Logout Link (1.0), Login Page Background (0.9.1), Manual Nav (2.3.3), Migration Tool (0.9.1)
# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller/enq_a.php, blocks/external_form/form/controller/enq_b.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form/enq_a.php, blocks/external_form/form/enq_b.php, blocks/external_form/form, blocks/external_form, mail/mail_send_hyoka_a.php, mail/mail_send_hyoka_b.php
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
apache2handler
# PHP Version
7.1.33
# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib
# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 384M
sql.safe_mode - Off
upload_max_filesize - 256M
ldap.max_links - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
Posted on 9月 25, 2020 at 3:34 午後
|
フォーラムの皆さま
平素から大変お世話になっております。
現在、Expressと外部フォームを使った、WEBアンケートシステムを
構築しております。
【システム構造の概要】
1.concrete5のメンバーログイン後、各メンバーに応じたアンケート(現在A・Bの2種類)
のリンク先ボタンをメニュー画面に表示
2.メニュー画面でリンクボタンをクリックすると、各アンケートページ(外部フォーム)が
表示されます。
3.アンケート回答後、「回答内容を確認する」と「メニュー画面に戻る」の2つのボタン
をクリックすると、それぞれ、回答内容確認画面が表示される場合と、メニュー画面
に移動できる場合とに分かれます。
4.アンケート回答確認画面では、「回答を確定する」と「アンケート画面に戻る」ボタン
が表示され、「回答を確定する」ボタンをクリックしますと、まず、ログインユーザ
を検証し、Expressへデータ登録後、回答内容をメールで送信する機能を実装しました。
5.4の処理が正常に終了すると、「アンケート回答ありがとうございます」メッセージが
表示され、同時にメールが送信される仕組みです。
また、「メニュー画面に戻る」ボタンも表示されます。
【困ったこと】
上の工程5の「アンケート回答ありがとうございます」メッセージが表示された際に、
ブラウザの戻るボタンをクリックした際、View側のコードにJavaScriptを追加しており、
「ブラウザの戻るボタンをクリックしないでください」といったアラートを表示させて
おり、閲覧履歴を追加しないようにしておりますが、その状態からブラウザの「進む」
ボタンをクリックすると、もう一度「アンケート回答ありがとうございます」
メッセージが表示され、空のメールが送信されてしまうことが分かりました。
アンケートデータ側には、1回回答すると、「回答済」のフラグをExpressエンティティ
に書き込んでおり、2重回答は回避できておりますが、空メールが飛んでしまうのは
いただけないと思っております。
そこで、コントローラ側の 「アンケート確定」処理コードに、ExpressのメンバーID
と回答済フラグを見に行って、回答済となっている場合、メールも送信しないように
書き換えてみましたが、ブラウザの「進む」ボタンクリック時にsubmitが発動しない
のか、空メールがいまだとんでまいります。
【お聞きしたいこと】
フォーラムの皆さまで、このような状況でどのように対処なさったご経験がおあり
か、ぜひご教示頂ければ幸いです。
アンケートの2重回答は防げておりますので、データ集計等には影響はございません
が、空メールが飛んでくることは避けたいと思っております。
ちなみに、ブラウザの「戻る」「進む」を何回も繰り返しましても、メールは、
回答状況が記載された本メールと、空メールの2回しか飛んできません。
10回繰り返して10回とんでくるのであれば、都度submitが発動されているのでは?
と考えるのですが、どうにも状況が読めない状態でございます。
どなた様か、お助けいただければ嬉しく存じます。
どうぞよろしくお願い申し上げます。
※メニュー画面等のイメージを添付しております。
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 5.1.73
SQL Mode:
# concrete5 Packages
CSV User Import & Export (0.1.1), Honest Websites Back To Top (1.1.0), Login/Logout Link (1.0), Manual Nav (2.3.3), Migration Tool (0.9.1)
# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller/enq_a.php, blocks/external_form/form/controller/enq_b.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form/enq_a.php, blocks/external_form/form/enq_b.php, blocks/external_form/form, blocks/external_form, mail/mail_send_hyoka_a.php, mail/mail_send_hyoka_b.php
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
apache2handler
# PHP Version
7.1.33
# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib
# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 384M
sql.safe_mode - Off
upload_max_filesize - 256M
ldap.max_links - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
Posted on 9月 14, 2020 at 10:12 午前
|