Archive for October, 2011

Съвет: shared hosting – проблем с потребители и достъп до директории

Това е първият ми пост, който е по-скоро въпрос, отколкото решение на даден проблем.

Как да направим shared hosting с Nginx + PHP-FastCGI?

1. Всеки потребител да има собствена директория и да не може да излиза от нея когато е логнат през SSH.
2. Да няма стартиран FastCGI процес за всеки различен потребител. Тоест, всички потребители да споделят един и същ FastCGI процес.
3. Не трябва при разглеждане на директориите с PHP скрипт, потребителя, който е пуснал скрипта да има достъп до останалите хостинг акаунти на машината.

Това, което мисля е, че точки 2 и 3 са взаимно изключващи се, но тъй като нямам цялостно решение на проблема си, приемам всякакви съвети.

Categories: Linux, Защита, Хостинг Tags:

Quick Tip: formatting hard drive partition with ext3

mke2fs -j /dev/hdc1


mkfs -t ext3 /dev/hdc1

Където /dev/hdc1 е partition-a, който искаме да форматираме

Categories: Cent OS, Debian, Filesystems, Linux, Quick Tips Tags:

Модифициране на HTTP Headers с PHP

// See related links for more status codes
// Use this header instruction to fix 404 headers
// produced by url rewriting...
header('HTTP/1.1 200 OK');
// Page was not found:
header('HTTP/1.1 404 Not Found');
// Access forbidden:
header('HTTP/1.1 403 Forbidden');
// The page moved permanently should be used for
// all redrictions, because search engines know
// what's going on and can easily update their urls.
header('HTTP/1.1 301 Moved Permanently');
// Server error
header('HTTP/1.1 500 Internal Server Error');
// Redirect to a new location:
// Redriect with a delay:
header('Refresh: 10; url=');
print 'You will be redirected in 10 seconds';
// you can also use the HTML syntax:
// <meta http-equiv="refresh" content="10; />
// override X-Powered-By value
header('X-Powered-By: PHP/4.4.0');
header('X-Powered-By: Brain/0.6b');
// content language (en = English)
header('Content-language: en');
// last modified (good for caching)
$time = time() - 60; // or filemtime($fn), etc
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');
// header for telling the browser that the content
// did not get changed
header('HTTP/1.1 304 Not Modified');
// set content length (good for caching):
header('Content-Length: 1234');
// Headers for an download:
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=""'); 
header('Content-Transfer-Encoding: binary');
// load the file to send:
// Disable caching of the current document:
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');
// set content type:
header('Content-Type: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
header('Content-Type: text/plain'); // plain text file
header('Content-Type: image/jpeg'); // JPG picture
header('Content-Type: application/zip'); // ZIP file
header('Content-Type: application/pdf'); // PDF file
header('Content-Type: audio/mpeg'); // Audio MPEG (MP3,...) file
header('Content-Type: application/x-shockwave-flash'); // Flash animation
// show sign in box
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
print 'Text that will be displayed if the user hits cancel or ';
print 'enters wrong login data';

Не мога да си припиша заслугите, но понеже ми хареса, статията е copy/paste @ jonasjohn

Categories: PHP Tags:

Елементарен скрипт за изпращане на mail през bash

SUBJECT="I am subject"
echo "Hello World" > $EMAILMESSAGE
echo "I am test text" >> $EMAILMESSAGE
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
Categories: bash Tags: