Featured Sites: A-Z Index

H


Newest 10 Entries

Question How can I access PHP-Info in Composr?
Answer PHP-Info provides a comprehensive overview of your PHP configuration. You can access it within Composr by navigating to Admin Zone > Tools > PHP-Info / Server Checks.

This page also provides additional useful server information.
Question What is the purpose of the Health Check feature in Composr?
Answer The Health Check feature in Composr proactively identifies potential issues that may affect your website's performance, security, and overall health. It performs various checks and alerts you to problems like:
  • Broken links and forms
  • Security vulnerabilities
  • Outdated software versions
  • Server performance issues
  • Email configuration problems

The Health Check can be run manually or scheduled to run automatically and send e-mail notifications of results.
Question How can I use Content Delivery Networks (CDNs) to enhance my website?
Answer CDNs improve website performance by serving content from geographically distributed servers, reducing latency and server load. You can leverage CDNs for your Composr website by:
  • Configuring the CDN option in Composr with a comma-separated list of CDN domain names.
  • Ensuring your files are mirrored on the CDN servers.
  • Utilizing the CDN_FILTER directive and symbol to control what content is served via CDN.
Question What is rate limiting and how can I enable it in Composr?
Answer Rate limiting prevents server overload by restricting the number of requests allowed from a single IP address within a specific timeframe. To enable Composr's built-in rate limiting, add the following to your _config.php file:

Code (PHP)

$SITE_INFO['rate_limiting'] = '1';
$SITE_INFO['rate_limit_time_window'] = '10';
$SITE_INFO['rate_limit_hits_per_window'] = '5';
 

This configuration limits each IP to 5 requests every 10 seconds. This feature generates soft errors early in the process before Composr fully loads.
Question How can I reduce disk activity to improve performance?
Answer If your hard disk is slow, you can implement the following settings in your _config.php file to minimize disk access:
  • $SITE_INFO['disable_smart_decaching'] = '1';
  • $SITE_INFO['no_disk_sanity_checks'] = '1';
  • $SITE_INFO['hardcode_common_module_zones'] = '1';
  • $SITE_INFO['prefer_direct_code_call'] = '1';
  • $SITE_INFO['charset'] = 'utf-8';
  • $SITE_INFO['known_suexec'] = '1';
  • $SITE_INFO['dev_mode'] = '0';
  • $SITE_INFO['no_extra_logs'] = '1';
  • $SITE_INFO['no_extra_bots'] = '1';
  • $SITE_INFO['no_extra_closed_file'] = '1';
  • $SITE_INFO['no_installer_checks'] = '1';
  • $SITE_INFO['assume_full_mobile_support'] = '1';
  • $SITE_INFO['no_extra_mobiles'] = '1';

Note: These settings override default behaviors and may have unintended consequences. Use with caution.
Question What is static caching and how do I enable it?
Answer Static caching drastically improves performance by serving pre-generated pages to bots and guests. This works because these users typically don't require dynamic content. To enable it:
  • Go to the Installation Options editor (yourbaseurl/config_editor.php). You will need your maintenance password.
  • Activate the static cache option.

Composr intelligently determines what to cache, and you can further control this via options within the Installation Options. Be aware that enabling static caching may disable eCommerce features for guests unless specifically configured.
Question What are Composr caches and how do they improve website performance?
Answer Composr utilizes various types of caches to enhance performance by storing pre-calculated results and reducing repetitive tasks. These caches include:
  • Language cache: Eliminates the need to parse language files on each page load.
  • Template cache: Avoids reparsing template files repeatedly.
  • Comcode page cache & Comcode cache: Reduces the need to parse Comcode pages and general Comcode usage.
  • Block cache: Caches blocks based on their parameters, minimizing execution.
  • Theme image cache: Prevents redundant searches for theme images.
  • Values caches: Stores calculated values like member post counts.
  • Persistent cache: Keeps frequently used data in memory for faster access.
  • Advanced admin cache: Allows admins to view cached pages while the server generates updates.
  • Static cache: Serves static pages to bots and guests, bypassing much of the framework.
  • Self learning cache: Optimizes resource loading by learning which resources each page requires.
Question How can I troubleshoot notification problems?
Answer If you're having issues with notifications, here are some troubleshooting steps:
  • Check Email Logs: View the email log (Admin Zone > Audit > E-mail queue/log) to see what notifications have been sent.
  • Use the SU Feature: Impersonate a member using the SU feature (described in the "Testing access and privileges" tutorial) to view their notification settings and confirm they are set up correctly.
  • Enable Carbon-copy Email: Configure a "Carbon-copy e-mail address" in the configuration settings to receive copies of all outgoing emails, including notifications. This helps you monitor email delivery.
  • Verify System Scheduler: Ensure the system scheduler is configured correctly if members are not receiving digest emails.
  • Check Digest Settings: Confirm that "Enable digest notifications" is enabled in the Messages configuration settings.
  • Review "Safety listing limit": If a notification has too many categories, members might not see the full selection tree. Adjust the "Safety listing limit" in the configuration settings if necessary.
Question Can I control which notifications members receive?
Answer Yes, you can control notification settings through two mechanisms:
  • Notification Defaults: You can set default notification preferences for all members. You can enable or disable specific notifications and choose the delivery method (Admin Zone > Setup > Notification defaults).
  • Notification Lock-down: You can force members to receive or prevent them from receiving certain notifications (Admin Zone > Setup > Notification lock-down). This allows you to enforce specific notification policies and manage email volume.
Question What notification options are available to members?
Answer Members can choose from a wide range of notifications, including:
  • Content Updates: Notifications for new or updated content, such as news articles, forum posts, and gallery images.
  • Private Messages: Alerts for new private messages received.
  • Friend Requests: Notifications for new friend requests.
  • Administrative Actions: Alerts for actions taken by site administrators, such as account approvals or content moderation decisions.

Members can choose to receive notifications via:
  • Email: Notifications sent directly to their email address.
  • Digest Email: Combined summaries of activity sent in batched emails. This requires the system scheduler and the digest e-mails configuration option to be enabled.
  • Private Topics: Notifications delivered as private forum topics.
  • SMS: Notifications sent as text messages (requires configuration and incurs costs).
  • Web Notifications: Real-time alerts displayed within the Composr interface.

Top 10 Entries

Question What steps should I take if my website has been hacked?
Answer If you suspect a security breach, take immediate action:
  • Identify the Cause: Analyze access logs for suspicious activity and pinpoint the vulnerability.
  • Clean and Restore: Restore your website from a clean backup and thoroughly remove any malicious code.
  • Address Vulnerabilities: Patch security holes, update software, and strengthen security configurations.
  • Seek Expert Help: If needed, consult security professionals for assistance with cleanup and prevention.
Question What additional security measures can I implement for my Composr website?
Answer
  • SSL: Enable HTTPS for encrypted communication and improved user trust.
  • Secure Zones: Configure sensitive zones to require confirmed sessions.
  • Restrict Logins: Enforce IP address confirmation for enhanced account security.
  • Maintenance Scripts: Restrict access to maintenance scripts like upgrader.php via IP restrictions.
  • Server Hardening: Disable unnecessary services, change default ports, enable automatic updates, and more.
  • Robots.txt: Use the robots.txt file to prevent search engine indexing of sensitive areas.
Question How does Content Security Policy (CSP) contribute to Composr security?
Answer CSP adds a layer of protection by controlling the resources the browser is allowed to load. It helps prevent:
  • XSS Attacks: By restricting inline scripts and limiting script sources.
  • Data Injection Attacks: By controlling the allowed origins for data requests.
  • Clickjacking: By specifying allowed framing sources.

Composr's CSP implementation utilizes "Trusted partner sites" and nonces for fine-grained control.
Question What is the purpose of "confirmed" and "non-confirmed" sessions?
Answer Composr distinguishes between confirmed and non-confirmed sessions for added security:
  • Confirmed: When you actively log in with your credentials.
  • Non-confirmed: When you return to the site and are automatically logged in via cookies.

You can configure zones to require confirmed sessions, preventing access from cookie-based logins alone. The Admin Zone uses this by default.
Question How can I enhance the security of my Composr installation on shared hosting?
Answer Shared hosting environments can be inherently less secure. Here are some tips:
  • Choose a Secure Host: Opt for hosts that offer suEXEC and open_basedir for better account isolation.
  • Test Security: Verify the host's security measures with the provided filesystem_browser.php script.
  • Restrict _config.php: Remove world-writable permissions from _config.php after installation.
Question How does Composr protect against Cross-Site Scripting (XSS) attacks?
Answer Composr utilizes multiple layers of defense against XSS attacks:
  • HTML Filtering: Configurable levels of filtering prevent malicious script injection.
  • Content Security Policy (CSP): Restricts the sources from which scripts and other resources can be loaded.
  • Input Sanitization: Data is sanitized before being processed to prevent malicious code execution.
  • Output Encoding: Data displayed to users is properly encoded to prevent interpretation as active code.
Question What are the different types of security alerts in Composr?
Answer Composr has a variety of hack-attack codenames that trigger security alerts and logging. Some common examples include:
  • DODGY_GET_HACK: Suspicious URLs with potentially harmful characters.
  • EVIL_POSTED_FORM_HACK: Possible CSRF attempts via malicious form submissions.
  • SCRIPT_UPLOAD_HACK: Attempts to upload PHP scripts, potentially malicious.
  • DOWNLOAD_PRIVATE_URL_HACK/TRY_TO_DOWNLOAD_SCRIPT: Attempts to download sensitive files.
  • BRUTEFORCE_LOGIN_HACK: Repeated failed login attempts.
  • SQL_INJECTION_HACK: Attempts to exploit SQL queries for data extraction.

You can customize alert handling for each type in data_custom/xml_config/advanced_banning.xml (Admin Zone > Security > Configure advanced banning).
Question What are some tips for secure website maintenance?
Answer
  • Avoid FTP: Use secure alternatives like SFTP or SSH for file transfer.
  • Secure Email: Enable SSL for IMAP and POP3 email protocols.
  • Strong Passwords: Use unique and complex passwords for different services.
  • Secure Computers: Keep your own devices patched and secure.
  • Maintenance Password: Remove the maintenance password from _config.php when not in use.
Question What are the main security features of Composr?
Answer Composr has a robust set of security features to protect your website, including:

Passwords:
  • Visual representation of password quality and enforcement of complexity rules.
  • Password expiry and prevention of re-use.
  • Secure password hashing, even if the database is compromised.
  • Temporary passwords for staff setup.

Login Restrictions:
  • Two-factor authentication via IP address approval.
  • IP address banning, including wildcard banning.
  • Session locking to IP addresses.
  • Configurable session expiry times.
  • Ability to prevent privileged actions from auto-logged in sessions.
  • Optional member approval process.

Auditing Systems:
  • Comprehensive audit logging of administrative actions.
  • Logging of user actions and IP address history.
  • Tools to analyze audit logs.
  • Failed login logging.
  • Hack attack detection, logging, and banning.
  • Email notifications for changes to user credentials.

Framework Security:
  • Protection against CSRF attacks.
  • Click-jacking prevention via CSP implementation.
  • Secure coding standards and scanning techniques.
  • Configurable HTML filtering to prevent XSS attacks.
  • Secure code modularization standards.

Other features:
  • Granular privileges and access permissions.
  • Content submission validation process.
  • Rootkit detection system.
  • Spam prevention systems.
  • Web application firewall rules.
  • Moderation systems.
Question Why are my searches slow, and how can I improve search speed?
Answer Slow searches can occur when dealing with large amounts of content. Here are some workarounds and solutions:
  • MySQL timeout setting: For MySQL 5.7+, set a query timeout to prevent searches from locking up your database. Composr automatically sets this, but you can configure it manually if needed.
  • Use InnoDB tables: Switching to InnoDB tables in MySQL can prevent slow queries from affecting other users on your website. Note that InnoDB is not officially supported by Composr yet.
  • Enable the fast custom index: As mentioned earlier, the fast custom index is optimized for handling large datasets and filtered searches, potentially leading to significant speed improvements.