View Issue Details

IDProjectCategoryView StatusLast Update
0005815Composrcorepublic2024-07-29 21:51
ReporterPatrick SchmalstigAssigned To 
SeverityFeature-request 
Status non-assignedResolutionopen 
Product Version 
Fixed in Version 
Summary0005815: Reduce disk checks for error log
DescriptionCurrently Composr has to do a disk check on every page load to ensure errorlog.php has a return line. This is problematic for performance.

Actually ideally we would not host any logs in the webroot, but that goes against our target demographics regarding users and their expertise with server administration.

Work in an alternate solution.
Additional InformationSlight increase in performance due to the elimination of an often-unnecessary disk check on every page load.
TagsRoadmap: Over the horizon, Type: Performance
Time estimation (hours)
Sponsorship open

Activities

admin

2024-07-29 20:37

administrator   ~0008992

Automated message: This issue was created using the Report Issue Wizard on the Composr homesite.

Patrick Schmalstig

2024-07-29 20:39

administrator   ~0008993

Last edited: 2024-07-29 20:41

View 3 revisions

We cannot just rename errorlog.php to errorlog.log and have access controls. It is possible the controls in htaccess and web.config may get disabled or never exist (especially with shady web hosts).

A possible solution is to make a new _config.php directive defining the filename. By default, it is a randomly-generated crypto-hash upon installation. That way we can use the .log extension with a reasonable amount of confidence that no spider or human will guess what it is and access it.

Then upon this process, we will no-longer need to access the error log on every page load to check for return.

Another potential solution is only to check the error log just before we plan to write to it. The return statement would therefore always be in there when something gets written to the log unless someone physically removes that line (and only until something else gets written).

Chris Graham

2024-07-29 21:51

administrator   ~0008994

"Another potential solution is only to check the error log just before we plan to write to it. The return statement would therefore always be in there when something gets written to the log unless someone physically removes that line (and only until something else gets written)."

We don't do that due to the possibility of it PHP creating the log, and somehow injecting PHP code into the error messages PHP itself generates.

Issue History

Date Modified Username Field Change
2024-07-29 20:37 Patrick Schmalstig Tag Attached: Roadmap: Over the horizon
2024-07-29 20:37 Patrick Schmalstig Tag Attached: Type: Performance
2024-07-29 20:39 Patrick Schmalstig Note Added: 0008993
2024-07-29 20:41 Patrick Schmalstig Note Edited: 0008993 View Revisions
2024-07-29 20:41 Patrick Schmalstig Note Edited: 0008993 View Revisions
2024-07-29 21:51 Chris Graham Note Added: 0008994