背景: 我是编码新手,因此对这里的任何基本误解深表歉意。我正在使用一个简单的交互式认知任务创建一个在线实验。我已经在 javascript/HTML/CSS 中对此进行了编码,主要是在 jsPsych 中。然后,我按照以下指南使用 Qualtrics 将实验放到网上:https://kywch.github.io/jsPsych-in-Qualtrics。
程序: 本质上,jsPsych 为参与者创建的数据对象在 javascript 中使用以下函数保存:
jQuery.ajax({ type: 'post', cache: false, url: save_url, data: {
data_dir: data_dir,
file_name: file_name + '.json',
exp_data: jsPsych.data.get().json()
}
});
用save_url链接的php文件如下:
<?php
header('Access-Control-Allow-Origin: https://ssd.az1.qualtrics.com');
$exp_data = $_POST['exp_data'];
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
if (isset($_POST['data_dir']) == true)
{
$data_dir = $_POST['data_dir']; // data directory
} else { exit; }
if (isset($_POST['file_name']) == true)
{
$file_name = $_POST['file_name']; // mturk_id
} else { exit; }
file_put_contents($data_dir.'/'.$file_name, $exp_data);
exit;
?>
问题:
在这个例子中,它写入的目录是用 chmod 772
编码的。现在,这不适用于我大学提供的网络空间。相反,我必须至少给用户写和执行权限 773
,虽然不需要组成员,703
也可以工作,也许可以用 chmod {{1} 添加一个粘性位}.
这一切都在运行,但我担心安全性,尤其是 GDPR 合规性。我想知道这里是否有任何突出的安全问题,以及是否有人有任何提示或资源来说明如何以一种对没有太多时间花费且对该主题知之甚少的人来说是可以管理的方式进行改进.
我目前正在尝试实现此方法,例如:http://www.mysql-apache-php.com/fileupload-security.htm
感谢您提供的任何帮助!