问题标签 [filesystem-access]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 编写一个系统访问受限的 PHP 插件系统
所以我正在考虑构建一个CMS,我希望它被设计成插件可以轻松扩展它的功能(我也在研究钩子系统和语言设置)。
这是棘手的部分:我试图为许多站点(例如 mycms.com/your-site)制作一种主机,而不是单独打包的 CMS。
我正在设计具有如下结构的 MySQL 数据库:
然后我将这样的插件存储在文件结构中:
当然,这里有一个严重的安全问题。说一个插件作者的代码 hello-world.php 像这样:
我该如何规避这样的事情?我怎样才能控制它,以便 hello-world.php 只能访问目录 hello-world/ 中的文件,而不能访问它上面的文件?本质上,我想禁止插件访问它们自己目录之外的文件。
这一定很简单吧?
谢谢!
c++ - 重定向文件访问
有没有办法监视和重定向线程或进程的文件访问?
例如,一个线程想要读取 /etc/mysql/my.cnf 并且我想更改对 ~/my.cnf 的访问权限,或者如果我运行touch /etc/test.config
我希望将文件重定向到~/somefolder/etc/test.config
.
我正在寻找适用于 Linux/Unix 的 C、C++ 库。
提前致谢
javascript - 是否可以在 PhantomJS 执行的页面内使用“fs”(文件系统)模块?
我想访问由 PhantomJS 无头浏览器呈现的页面上的文件系统。
当 JS 代码尝试与文件系统交互时,我发现一个错误
PhantomJS 是否有一些黑客/插件可以做到这一点?
PS 我正在使用基于 PhantomJS ( teaspoon ) 的无头测试运行器,我想存储一些来自文件系统测试的数据。
javascript - 自动将canvas png保存到本地文件系统
我是一名网络开发人员,我从未为桌面构建过任何东西。我正在做一个新项目,我正在实时进行一些画布渲染。它在低分辨率下工作得很好,但我想在高分辨率下做,并将每一帧保存为我硬盘上的 PNG 文件。
问题当然是访问本地文件系统。所以我想知道最简单的方法是什么?
我是否必须使用 AppJS、Electron 等框架创建桌面应用程序?最简单的方法是什么?
我只想在我的电脑上做一次。
c - 为什么 Linux 在目录上使用 getdents() 而不是 read()?
我正在浏览 K&R C,我注意到要读取目录中的条目,他们使用:
dirbuf
特定于系统的目录结构和dp->fd
有效的文件描述符在哪里。在我的系统上,dirbuf
应该是一个struct linux_dirent
. 请注意,astruct linux_dirent
有一个灵活的数组成员作为条目名称,但为了简单起见,我们假设它没有。(在这种情况下处理灵活的数组成员只需要一点额外的样板代码)。
然而,Linux 不支持这种结构。当read()
用于尝试读取上述目录条目时,read()
返回-1
并errno
设置为EISDIR
.
相反,Linux 专门用于读取目录的系统调用,即getdents()
系统调用。但是,我注意到它的工作方式与上面几乎相同。
这背后的原因是什么?read()
与在 K&R 中使用的方法相比,似乎没有什么好处/没有好处。
c# - C# .Net Freeze 同时遍历大量文件
我有一个问题,我编写了一个应用程序,该应用程序将遍历文件并将每个文件的整数添加 +1,直到它达到特定的文件名。问题可能是因为 .Net 不直接访问本机文件系统,它填满了集合,但在我的情况下,相信我,这需要数年时间,我在目标文件夹中有 260 000 个文件。迭代甚至没有到达第二个文件。线程完全冻结,没有错误,没有异常。那么有什么方法可以直接访问本机文件系统而不会填充任何无用的集合?
这是我的代码:
顺便提一句。对不起,我的英语不好
问候
javascript - Write PDF files from Web-App to USB-Stick
I am concerned with the feasibility of this: On a pre-configured machine I will have a Web-Application pre-installed, next to an Apache-Suite. So client and server are the same!
In this Web-Application Users can drag and drop PDF-Files to an USB-Icon.
Then the Web-App should write the dropped PDF to an attached USB-Stick.
I have never done something like this (writing to USB), so I am fairly insecure. And I am well aware of the browser-restrictions concerning JavaScript and Filesystem-Access, but...
after researching a bit I found out, that there might be some possible and
relevant (I'm a Web-Platform-Guy) solutions to this:
- Make a "Chrome App" with USB-Permission (does this really work?)
- Use PHP to find the USB and then write to it (how would that work under Windows?)
- Use some Flash as middle man (not preferred)
Now I'd like to know:
- Has anyone some good experience with before mentioned possibilities?
- Has anybody ever done something similar? Did it work? Which path did you choose?
- How would I know which drive the USB is mounted, and how would I get sure?
- What other possible solutions to this problem are there?
c - Is it possible to concatenate two files on the same linux filesystem by modifying the inode datastructure and superblock?
If I want to concatenate two very large files residing on the same filesystem, say ext3 or ext4 for example, does linux provide an api to do it programmatically by reading and modifying the inode direct/indirect pointers of the two files, and modifying the filesize and superblock values? If so, is there any documentation on the api/headerfiles for that?
Note: I am aware of built in linux binaries like cat, tee, etc which could be used, but my question is about programmatically achieving this.
git - Git:在本地网络上设置公共的只读克隆
我们有一个小型 Windows LAN,其原始存储库用于在网络驱动器上设置研究数据,并在每个工作站上进行工作克隆;一切都很好。我们想为连接的访问者(实际的物理类型)提供对存储库的只读访问权限。最好的方法是什么?
逻辑上(= 天真地)我们会将其设为非裸源,并在没有外部写入权限的情况下公开它;我在设置它时尝试过,但推到一个完整的原点并不好。我应该在原点旁边创建一个公共克隆,并将其设为只读吗?然后:当工人推送时,使用什么样的钩子来更新公共克隆?
我找到的几乎所有关于此的信息都是关于 *nix 系统和远程访问的,遗憾的是这里不是这种情况。
javascript - 有没有办法动态访问托管在我的 Github Pages 服务器上的文件和文件夹?
我了解 Web 采取了主要的安全措施来防止程序访问客户端计算机上的文件。我想要做的是使用 AJAX 或其他一些功能来动态访问位于我的 Github 存储库中的我自己的公共目录中的文件和文件夹名称,以便在我的静态 Github 页面上提供服务。
为了对我正在从事的项目有一点了解,我将举这个例子:假设我想轻松地将内容添加到我的博客中,我的目录如下所示:
当我将“new-article.txt”添加到“articles”文件夹时,我不想编辑相应的“articles.html”页面来添加指向新文章的链接。我只是想要 AJAX 或类似的功能来获取文件夹中的所有文件名并生成指向我的文章的链接。
这可能吗?我只是想为我的静态 Github 页面创建这个功能。使用 AJAX 不是必需的,但我想要一个纯 Javascript 或 AJAX 方法。
编辑:
我遇到了两种可能的选择,可以给我想要的东西。
选项 1:使用 AJAX 在我的服务器上请求一个目录,这将返回一个完整的 HTML 文档,其中包含指向该目录中所有文件的链接。
选项 2:维护一个包含目录中所有文件名的文本文件,并使用 AJAX 加载列表中的所有文件。
然而,这两种方法都存在问题。选项 1 要求我从 HTML 文档中解析出文件名。这不是一个干净的解决方案,并且根据服务器权限,它可能根本不起作用。我宁愿不依赖这个黑客。
选项 2 的问题在于它仍然需要我将文件名硬编码到文本文档中,因此该解决方案并不是真正动态的。当然,我会节省一些时间来维护每个单独的链接,但我仍然需要维护文本文件。最重要的是,这似乎是一个草率的解决方案。
再次编辑
我遇到了一个我以前没有看到的选项,那就是使用静态站点生成器。Github 目前使用的是 Jekyll。如果我找不到任何其他方式来获得我想要的东西,我可能会选择 SSG,但这对于我的目的来说真的不理想。我真的只是包括这个编辑,所以有我问题的人知道他们的选择。