Secure Web App is a Django-based project focused on implementing and demonstrating secure web development practices. The project includes features for input handling and geo IP tracking, with a strong emphasis on security measures.
The main objectives of this project are:
- To showcase best practices in secure web application development using Django.
- To implement and demonstrate input validation and sanitization techniques.
- To integrate geo IP tracking functionality for enhanced security and user analytics.
- To serve as a learning resource for developers interested in web application security.
- Django 5.1 based project structure
- Custom apps: input_handler and geo_ip_track
- Admin interface for easy management
- Secure settings configuration
- Implement comprehensive input validation in the input_handler app
- Develop the geo_ip_track functionality to log and analyze user locations
- Enhance security measures, including:
- Proper secret key management
- Configuring allowed hosts
- Implementing HTTPS
- Add user authentication and authorization features
- Create detailed documentation for each security feature implemented
- Develop unit tests and integration tests to ensure security measures are working as expected
- Implement CSRF protection and other Django security middlewares
- Conduct regular security audits and penetration testing
- Optimize for production deployment, including DEBUG mode handling
- Implement logging and monitoring for security-related events
- Python 3.10+
- pip
- conda
- CLONE THE REPO:
git clone https://github.com/bharathpofficial/secure-web-app.git
- CREATE CONDA ENVIRONMENT
cd secure-web-app/build && conda env create -f environment.yml
conda activate security-operation-center
- SET ENV VARIABLES
export SQL_API_KEY=your_sql_api_key && export IPGEO_API_KEY=your_ipgeo_api_key
- Apply database migration:
python manage.py migrate
- Create a superuser (optional):
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the application at
http://127.0.0.1:8000
We welcome contributions to the Secure Web App project! If you're interested in helping improve this project, here's how you can contribute:
- Fork the repository on GitHub.
- Clone your forked repository to your local machine.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear, descriptive commit messages.
- Push your changes to your fork on GitHub.
- Submit a pull request to the main repository.
- Ensure your code adheres to the project's coding style and conventions.
- Write clear, concise commit messages.
- Include appropriate tests for your changes.
- Update documentation as necessary.
- Ensure your changes don't break existing functionality.
If you're unsure about anything, feel free to open an issue to discuss your ideas or ask questions.
We appreciate all contributions, whether they're bug reports, feature requests, or code contributions. Thank you for helping make Secure Web App better!
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
For more details, see the LICENSE file in the project repository or visit https://www.gnu.org/licenses/gpl-3.0.en.html.