Skip to main content

A library for validating user inputs to prevent common security vulnerabilities.

Project description

QDraco

QDraco is a Python library designed to validate user inputs against common security vulnerabilities. This library helps in preventing various types of attacks such as SQL Injection, Cross-Site Scripting (XSS), Command Injection, Path Traversal, and others. It is a valuable tool for developers looking to enhance the security of their applications by validating potentially malicious inputs.

Features

SQL Injection Prevention: Detects and prevents SQL injection attempts. XSS (Cross-Site Scripting) Prevention: Identifies and blocks XSS attack patterns. Command Injection Prevention: Protects against shell command injections. Path Traversal Prevention: Safeguards against attempts to access unauthorized files and directories. Remote and Local File Inclusion (RFI/LFI) Prevention: Blocks attempts to include remote or local files. Remote Code Execution (RCE) Prevention: Detects patterns that could lead to code execution on the server. Open Redirect Prevention: Prevents open redirect attacks. CSRF (Cross-Site Request Forgery) Prevention: Identifies potential CSRF attack vectors.

Installation

To install QDraco, you can use pip:

pip install QDraco

Usage

Here is an example of how to use QDraco to validate different types of user inputs:

from QDraco import InputValidator

validator = InputValidator()

# Example inputs to validate
sql_input = "SELECT * FROM users WHERE id = 1"
xss_input = '<script>alert("XSS")</script>'
command_input = "rm -rf /"
path_input = "../../etc/passwd"
csrf_input = '<form action="submit.php" method="post"><input type="hidden" name="csrf_token" value="..."></form>'
rfi_input = "http://example.com/shell.txt"
lfi_input = "../../../../../etc/passwd"
rce_input = "system('ls');"
open_redirect_input = "window.location='http://evil.com';"

# Validate inputs
print("SQL Injection Safe:", validator.validate_sql_input(sql_input))
print("XSS Safe:", validator.validate_html_input(xss_input))
print("Command Injection Safe:", validator.validate_command_input(command_input))
print("Path Traversal Safe:", validator.validate_path_traversal(path_input))
print("CSRF Safe:", validator.validate_csrf_input(csrf_input))
print("RFI Safe:", validator.validate_rfi_input(rfi_input))
print("LFI Safe:", validator.validate_lfi_input(lfi_input))
print("RCE Safe:", validator.validate_rce_input(rce_input))
print("Open Redirect Safe:", validator.validate_open_redirect_input(open_redirect_input))

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

If you have any questions or feedback, please feel free to reach out.

Contributing

Contributions to QDraco are welcome! Whether it's a bug report, new feature, correction, or any other type of contribution, please feel free to open an issue or submit a pull request on the GitHub repository.

Project details


Release history Release notifications | RSS feed

This version

1.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Qdraco-1.1.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

Qdraco-1.1-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page