mirror of
https://github.com/itflow-org/itflow
synced 2026-08-18 21:45:13 +00:00
Update missing CSRF endpoint checks
This commit is contained in:
@@ -106,7 +106,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<a class="dropdown-item text-danger text-bold" href="post.php?delete_contract_template=<?php echo $id; ?>">
|
<a class="dropdown-item text-danger text-bold" href="post.php?delete_contract_template=<?= $id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
|
||||||
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||||||
|
|
||||||
if (isset($_POST['add_contract_template'])) {
|
if (isset($_POST['add_contract_template'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
// Sanitize text inputs
|
// Sanitize text inputs
|
||||||
$name = escapeSql($_POST['name']);
|
$name = escapeSql($_POST['name']);
|
||||||
$description = escapeSql($_POST['description']);
|
$description = escapeSql($_POST['description']);
|
||||||
@@ -61,6 +63,8 @@ if (isset($_POST['add_contract_template'])) {
|
|||||||
|
|
||||||
if (isset($_POST['edit_contract_template'])) {
|
if (isset($_POST['edit_contract_template'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
$contract_template_id = intval($_POST['contract_template_id']);
|
$contract_template_id = intval($_POST['contract_template_id']);
|
||||||
$name = escapeSql($_POST['name']);
|
$name = escapeSql($_POST['name']);
|
||||||
$description = escapeSql($_POST['description']);
|
$description = escapeSql($_POST['description']);
|
||||||
@@ -107,6 +111,9 @@ if (isset($_POST['edit_contract_template'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['archive_contract_template'])) {
|
if (isset($_GET['archive_contract_template'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
$contract_template_id = intval($_GET['archive_contract_template']);
|
$contract_template_id = intval($_GET['archive_contract_template']);
|
||||||
|
|
||||||
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
||||||
@@ -123,6 +130,9 @@ if (isset($_GET['archive_contract_template'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['restore_contract_template'])) {
|
if (isset($_GET['restore_contract_template'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
$contract_template_id = intval($_GET['restore_contract_template']);
|
$contract_template_id = intval($_GET['restore_contract_template']);
|
||||||
|
|
||||||
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
||||||
@@ -139,6 +149,9 @@ if (isset($_GET['restore_contract_template'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['delete_contract_template'])) {
|
if (isset($_GET['delete_contract_template'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
$contract_template_id = intval($_GET['delete_contract_template']);
|
$contract_template_id = intval($_GET['delete_contract_template']);
|
||||||
|
|
||||||
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
$name = getFieldById('contract_templates', $contract_template_id, 'contract_template_name');
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||||||
|
|
||||||
if(isset($_POST['create_custom_field'])){
|
if(isset($_POST['create_custom_field'])){
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
require_once 'custom_field_model.php';
|
require_once 'custom_field_model.php';
|
||||||
|
|
||||||
$table = escapeSql($_POST['table']);
|
$table = escapeSql($_POST['table']);
|
||||||
@@ -26,6 +28,8 @@ if(isset($_POST['create_custom_field'])){
|
|||||||
|
|
||||||
if(isset($_POST['edit_custom_field'])){
|
if(isset($_POST['edit_custom_field'])){
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
require_once 'custom_field_model.php';
|
require_once 'custom_field_model.php';
|
||||||
|
|
||||||
$custom_field_id = intval($_POST['custom_field_id']);
|
$custom_field_id = intval($_POST['custom_field_id']);
|
||||||
@@ -40,7 +44,9 @@ if(isset($_POST['edit_custom_field'])){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_GET['delete_custom_field'])){
|
if(isset($_GET['delete_custom_field'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
$custom_field_id = intval($_GET['delete_custom_field']);
|
$custom_field_id = intval($_GET['delete_custom_field']);
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||||||
|
|
||||||
if (isset($_GET['update'])) {
|
if (isset($_GET['update'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
enforceAdminPermission();
|
enforceAdminPermission();
|
||||||
|
|
||||||
//git fetch downloads the latest from remote without trying to merge or rebase anything. Then the git reset resets the master branch to what you just fetched. The --hard option changes all the files in your working tree to match the files in origin/master
|
//git fetch downloads the latest from remote without trying to merge or rebase anything. Then the git reset resets the master branch to what you just fetched. The --hard option changes all the files in your working tree to match the files in origin/master
|
||||||
@@ -284,6 +286,8 @@ if (isset($_GET['update'])) {
|
|||||||
|
|
||||||
if (isset($_GET['update_db'])) {
|
if (isset($_GET['update_db'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_GET['csrf_token']);
|
||||||
|
|
||||||
// Get the current version
|
// Get the current version
|
||||||
require_once ('../includes/database_version.php');
|
require_once ('../includes/database_version.php');
|
||||||
|
|
||||||
|
|||||||
@@ -293,6 +293,8 @@ if (isset($_POST['restore_user'])) {
|
|||||||
|
|
||||||
if (isset($_POST['export_users_csv'])) {
|
if (isset($_POST['export_users_csv'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
//get records from database
|
//get records from database
|
||||||
$sql = mysqli_query($mysqli, "SELECT * FROM users LEFT JOIN user_roles ON user_role_id = role_id ORDER BY user_name ASC");
|
$sql = mysqli_query($mysqli, "SELECT * FROM users LEFT JOIN user_roles ON user_role_id = role_id ORDER BY user_name ASC");
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_custom_field=<?php echo $custom_field_id; ?>">
|
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_custom_field=<?= $custom_field_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
|
||||||
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ $git_log = shell_exec("git log $repo_branch..origin/$repo_branch --pretty=format
|
|||||||
<p class="text-center font-weight-bold">Ignore this warning at your own risk.</p>
|
<p class="text-center font-weight-bold">Ignore this warning at your own risk.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="btn btn-primary btn-lg my-4 confirm-link" href="post.php?update"><i class="fas fa-fw fa-4x fa-download mb-1"></i><h5>Update App</h5></a>
|
<a class="btn btn-primary btn-lg my-4 confirm-link" href="post.php?update&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fas fa-fw fa-4x fa-download mb-1"></i><h5>Update App</h5></a>
|
||||||
<a class="btn btn-danger btn-lg confirm-link" href="post.php?update&force_update=1"><i class="fas fa-fw fa-4x fa-hammer mb-1"></i><h5>FORCE Update App</h5></a>
|
<a class="btn btn-danger btn-lg confirm-link" href="post.php?update&force_update=1&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fas fa-fw fa-4x fa-hammer mb-1"></i><h5>FORCE Update App</h5></a>
|
||||||
|
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
<p><strong>Application Release Version:<br><strong class="text-dark"><?php echo APP_VERSION; ?></strong></p>
|
<p><strong>Application Release Version:<br><strong class="text-dark"><?php echo APP_VERSION; ?></strong></p>
|
||||||
|
|||||||
@@ -174,6 +174,8 @@ if (isset($_POST['bulk_delete_networks'])) {
|
|||||||
|
|
||||||
if (isset($_POST['export_networks_csv'])) {
|
if (isset($_POST['export_networks_csv'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
enforceUserPermission('module_support');
|
enforceUserPermission('module_support');
|
||||||
|
|
||||||
if ($_POST['client_id']) {
|
if ($_POST['client_id']) {
|
||||||
|
|||||||
@@ -246,6 +246,8 @@ if (isset($_POST['bulk_delete_products'])) {
|
|||||||
|
|
||||||
if (isset($_POST['export_products_csv'])) {
|
if (isset($_POST['export_products_csv'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
//get records from database
|
//get records from database
|
||||||
$sql = mysqli_query($mysqli,"SELECT * FROM products
|
$sql = mysqli_query($mysqli,"SELECT * FROM products
|
||||||
LEFT JOIN categories ON product_category_id = category_id
|
LEFT JOIN categories ON product_category_id = category_id
|
||||||
@@ -293,6 +295,8 @@ if (isset($_POST['export_products_csv'])) {
|
|||||||
|
|
||||||
if (isset($_POST['add_product_stock'])) {
|
if (isset($_POST['add_product_stock'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
enforceUserPermission('module_sales', 2);
|
enforceUserPermission('module_sales', 2);
|
||||||
|
|
||||||
$product_id = intval($_POST['product_id']);
|
$product_id = intval($_POST['product_id']);
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||||||
|
|
||||||
if (isset($_POST['add_tag'])) {
|
if (isset($_POST['add_tag'])) {
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
require_once 'tag_model.php';
|
require_once 'tag_model.php';
|
||||||
|
|
||||||
mysqli_query($mysqli,"INSERT INTO tags SET tag_name = '$name', tag_type = $type, tag_color = '$color', tag_icon = '$icon'");
|
mysqli_query($mysqli,"INSERT INTO tags SET tag_name = '$name', tag_type = $type, tag_color = '$color', tag_icon = '$icon'");
|
||||||
|
|||||||
Reference in New Issue
Block a user