mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-23 20:36:53 +01:00
88 lines
3.7 KiB
XML
88 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="FileCache" inherits="Reference" version="4.4">
|
|
<brief_description>
|
|
The FileCache class provide functionality for file caching and name and path sanitization for the web module.
|
|
</brief_description>
|
|
<description>
|
|
The FileCache class provide functionality for file caching and name and path sanitization for the web module.
|
|
It helps with avoiding directory traversal attacks, as relative paths are not going to be expanded by accident.
|
|
(A directory traversal attach would be if an application receives this get request: [code]server.net/../../../etc/passwd[/code], and it would result in success, if the app then returns the contents of the "passwd" file, which is outside of the root folder of the server.)
|
|
It can save contents of files or pages into memory if needed using the [code]set_cached_body()[/code] helper method.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="clear">
|
|
<return type="void" />
|
|
<description>
|
|
Clear all internal caches.
|
|
</description>
|
|
</method>
|
|
<method name="get_cached_body">
|
|
<return type="String" />
|
|
<argument index="0" name="path" type="String" />
|
|
<description>
|
|
Get a previously stored page's or file's body.
|
|
</description>
|
|
</method>
|
|
<method name="get_wwwroot_abs">
|
|
<return type="String" />
|
|
<description>
|
|
Return the set [member wwwroot]'s absolute path.
|
|
</description>
|
|
</method>
|
|
<method name="has_cached_body">
|
|
<return type="bool" />
|
|
<argument index="0" name="path" type="String" />
|
|
<description>
|
|
Check whether a page's or file's body is available.
|
|
</description>
|
|
</method>
|
|
<method name="set_cached_body">
|
|
<return type="void" />
|
|
<argument index="0" name="path" type="String" />
|
|
<argument index="1" name="body" type="String" />
|
|
<description>
|
|
Store a page's or file's body.
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_get_file_abspath">
|
|
<return type="String" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
Returns the absolute path to a file if it exists in the given [member wwwroot]. If it doesn't exists returns an empty [String].
|
|
Guards against directory traversal.
|
|
Note: file path should be the url you want to access the file with, including lead slash. e.g. http://127.0.0.1/a/b/d.jpg -> /a/b/d.jpg
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_get_simplified_abs_path">
|
|
<return type="String" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
Returns the absolute path to a file in the given [member wwwroot]. Does not checks if the file exists or not. Returns an empty [String] on error.
|
|
Guards against directory traversal.
|
|
Note: file path should be the url you want to access the file with, including lead slash. e.g. http://127.0.0.1/a/b/d.jpg -> /a/b/d.jpg
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_has_file">
|
|
<return type="bool" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
Check whether a file exists in the given [member wwwroot].
|
|
Guards against directory traversal.
|
|
Note: file path should be the url you want to access the file with, including lead slash. e.g. http://127.0.0.1/a/b/d.jpg -> /a/b/d.jpg
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="cache_invalidation_time" type="int" setter="set_cache_invalidation_time" getter="get_cache_invalidation_time" default="0">
|
|
How long a page's or file's body should be stored.
|
|
</member>
|
|
<member name="wwwroot" type="String" setter="set_wwwroot" getter="get_wwwroot" default="""">
|
|
Set a www root directory for this [FileCache]. It can be both relative and absolute.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
</class>
|