mirror of
https://github.com/psychopy/psychojs.git
synced 2025-05-12 08:38:10 +00:00
Merge pull request #267 from thewhodidthis/nf#230--remotes
core/PsychoJS: enable whitelisting of config.json hosts
This commit is contained in:
commit
f4c9d6ce33
@ -117,6 +117,7 @@ export class PsychoJS
|
|||||||
constructor({
|
constructor({
|
||||||
debug = true,
|
debug = true,
|
||||||
collectIP = false,
|
collectIP = false,
|
||||||
|
hosts = [],
|
||||||
topLevelStatus = true
|
topLevelStatus = true
|
||||||
} = {})
|
} = {})
|
||||||
{
|
{
|
||||||
@ -137,6 +138,10 @@ export class PsychoJS
|
|||||||
psychoJS: this
|
psychoJS: this
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// to be loading `configURL` files in `_configure` calls from
|
||||||
|
const hostsEvidently = new Set([...hosts, 'https://pavlovia.org/run/', 'https://run.pavlovia.org/']);
|
||||||
|
this._hosts = Array.from(hostsEvidently);
|
||||||
|
|
||||||
// GUI:
|
// GUI:
|
||||||
this._gui = new GUI(this);
|
this._gui = new GUI(this);
|
||||||
|
|
||||||
@ -560,7 +565,9 @@ export class PsychoJS
|
|||||||
|
|
||||||
// if the experiment is running from the pavlovia.org server, we read the configuration file:
|
// if the experiment is running from the pavlovia.org server, we read the configuration file:
|
||||||
const experimentUrl = window.location.href;
|
const experimentUrl = window.location.href;
|
||||||
if (experimentUrl.indexOf('https://run.pavlovia.org/') === 0 || experimentUrl.indexOf('https://pavlovia.org/run/') === 0)
|
// go through each url in allow list
|
||||||
|
const isHost = this._hosts.some(url => experimentUrl.indexOf(url) === 0);
|
||||||
|
if (isHost)
|
||||||
{
|
{
|
||||||
const serverResponse = await this._serverManager.getConfiguration(configURL);
|
const serverResponse = await this._serverManager.getConfiguration(configURL);
|
||||||
this._config = serverResponse.config;
|
this._config = serverResponse.config;
|
||||||
|
Loading…
Reference in New Issue
Block a user