2015-08-17 17:31:29 +03:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Copyright (c) 2015 Robin Appelman <icewind@owncloud.com>
|
|
|
|
* This file is licensed under the Licensed under the MIT license:
|
|
|
|
* http://opensource.org/licenses/MIT
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Icewind\SMB;
|
|
|
|
|
|
|
|
use Icewind\SMB\Exception\InvalidPathException;
|
|
|
|
|
|
|
|
abstract class AbstractShare implements IShare {
|
|
|
|
private $forbiddenCharacters;
|
|
|
|
|
|
|
|
public function __construct() {
|
|
|
|
$this->forbiddenCharacters = array('?', '<', '>', ':', '*', '|', '"', chr(0), "\n", "\r");
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function verifyPath($path) {
|
|
|
|
foreach ($this->forbiddenCharacters as $char) {
|
|
|
|
if (strpos($path, $char) !== false) {
|
|
|
|
throw new InvalidPathException('Invalid path, "' . $char . '" is not allowed');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-01-19 18:22:36 +03:00
|
|
|
|
|
|
|
public function setForbiddenChars(array $charList) {
|
|
|
|
$this->forbiddenCharacters = $charList;
|
|
|
|
}
|
2015-08-17 17:31:29 +03:00
|
|
|
}
|