├── .gitignore ├── index.cfm ├── libs └── scrypt-1.4.0.jar ├── database ├── smsProviders_data.xls └── users_and_smsprovider_tables.sql ├── framework ├── nullObject.cfc ├── MyApplication.cfc ├── methodProxy.cfc ├── facade.cfc ├── WireBoxAdapter.cfc ├── Application.cfc ├── aop.cfc └── beanProxy.cfc ├── blocked └── Application.cfc ├── model ├── beans │ ├── instant.cfc │ ├── Session.cfc │ ├── User.cfc │ ├── SmsProvider.cfc │ └── BaseBean.cfc └── services │ ├── formatter.cfc │ ├── MailService.cfc │ ├── SmsProviderService.cfc │ └── UserService.cfc ├── keyrings └── move_keyrings_folder_outside_webroot.txt ├── ipBlocked.html ├── ipFlagged.html ├── home ├── views │ └── main │ │ ├── process.cfm │ │ ├── error.cfm │ │ ├── default.cfm │ │ ├── reset.cfm │ │ └── register.cfm ├── layouts │ └── default.cfm └── controllers │ └── main.cfc ├── admin ├── layouts │ └── default.cfm ├── views │ └── main │ │ ├── dashboard.cfm │ │ ├── twofactor.cfm │ │ └── default.cfm └── controllers │ ├── security.cfc │ └── main.cfc ├── box.json ├── LICENSE ├── README.md └── Application.cfc /.gitignore: -------------------------------------------------------------------------------- 1 | keyrings/BF34677F9BEBB7C3D076C08B817C80E3.bin -------------------------------------------------------------------------------- /index.cfm: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libs/scrypt-1.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddspringle/framework-one-secure-auth/HEAD/libs/scrypt-1.4.0.jar -------------------------------------------------------------------------------- /database/smsProviders_data.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddspringle/framework-one-secure-auth/HEAD/database/smsProviders_data.xls -------------------------------------------------------------------------------- /framework/nullObject.cfc: -------------------------------------------------------------------------------- 1 | component { 2 | function onMissingMethod( string missingMethodName, struct missingMethodArguments ) { 3 | return this; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /blocked/Application.cfc: -------------------------------------------------------------------------------- 1 | // minimal Application.cfc to prevent fw/1 from triggering 2 | // during http calls to blocked_ips.json 3 | component { 4 | this.name = hash( getBaseTemplatePath() ); 5 | } -------------------------------------------------------------------------------- /model/beans/instant.cfc: -------------------------------------------------------------------------------- 1 | component { 2 | 3 | function init() { 4 | variables.when = now(); 5 | } 6 | 7 | function created() { 8 | return variables.when; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /model/services/formatter.cfc: -------------------------------------------------------------------------------- 1 | component { 2 | 3 | public string function longdate( any when ) { 4 | return dateFormat( when, 'long' ) & " at " & timeFormat( when, 'long' ); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /keyrings/move_keyrings_folder_outside_webroot.txt: -------------------------------------------------------------------------------- 1 | You *MUST* move the keyrings folder outside of the webroot 2 | so it is not accessible to the internet 3 | 4 | ex: /opt/secure/keyrings/ 5 | 6 | this path should be accessible *only* to the user the CFML 7 | application server is running under and to 8 | root/Administrator users -------------------------------------------------------------------------------- /ipBlocked.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Your IP address has been blocked for suspicious activity.
10 |
11 | Continued attempts to access this system will result in
12 | your IP address being reported to your ISP's abuse department.
13 |
15 | If you feel you have been blocked in error, please contact our
16 | abuse department to determine why your ip address has been blocked.
17 |
18 |
--------------------------------------------------------------------------------
/ipFlagged.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Your IP address has been flagged for suspicious activity.
10 |
11 | Continued abuse of our system will get your IP banned from this site
12 | and will result in your IP address being reported to your ISP's abuse department.
13 |
15 | If you feel you have received this warning in error, please contact our
16 | abuse department to determine why your ip address has been flagged.
17 |
18 |
--------------------------------------------------------------------------------
/home/views/main/process.cfm:
--------------------------------------------------------------------------------
1 | Secure Auth Example
An error occurred!
7 |This page was last generated on #encodeForHtml( rc.today )#.
If you have forgotten your password, use this form to have a new system generated password emailed to you.
32 |Please enter your authorization code below.
69 |