Code
- install.php ➔ initialize_inputs()
- install.php ➔ load_lang_file()
- install.php ➔ load_database()
- install.php ➔ installExit()
- install.php ➔ Welcome()
- install.php ➔ CheckFilesWritable()
- install.php ➔ DatabaseSettings()
- install.php ➔ ForumSettings()
- install.php ➔ DatabasePopulation()
- install.php ➔ AdminAccount()
- install.php ➔ DeleteInstall()
- install.php ➔ updateSettingsFile()
- install.php ➔ updateDbLastError()
- install.php ➔ fixModSecurity()
- install.php ➔ template_install_above()
- install.php ➔ template_install_below()
- install.php ➔ template_welcome_message()
- install.php ➔ template_warning_divs()
- install.php ➔ template_chmod_files()
- install.php ➔ template_database_settings()
- install.php ➔ template_forum_settings()
- install.php ➔ template_populate_database()
- install.php ➔ template_admin_account()
- install.php ➔ template_delete_install()

Loading history...
dirname($_SERVER['PHP_SE...ERVER['PHP_SELF']) : ''can contain request data and is used in output context(s) leading to a potential security vulnerability.1 path for user data to reach this point
PHP_SELFfrom$_SERVER,and$_SERVER['PHP_SELF']is passed through dirname()in other/install.php on line 317
Preventing Cross-Site-Scripting Attacks
Cross-Site-Scripting allows an attacker to inject malicious code into your website - in particular Javascript code, and have that code executed with the privileges of a visiting user. This can be used to obtain data, or perform actions on behalf of that visiting user.
In order to prevent this, make sure to escape all user-provided data:
General Strategies to prevent injection
In general, it is advisable to prevent any user-data to reach this point. This can be done by white-listing certain values:
if ( ! in_array($value, array('this-is-allowed', 'and-this-too'), true)) { throw new \InvalidArgumentException('This input is not allowed.'); }For numeric data, we recommend to explicitly cast the data: