Zlo_606ep

Zlo_606ep
Рейтинг
129
Регистрация
14.12.2006
Должность
Веб-дизайн, node.js, React, drupal

между прочим форма в iframe - неплохой вариант - просто указать в мета-тегах нужную кодировку и работать с фреймом, а не с родительским документом

ну так можно на лету конвертровать в php, при создании формы и при приеме данных

возможно javascript-ом конвертировать, наподобие iconv в php (оная функция отсутствовала у хостера - нашел аналогичный исходник), там просто смена одних ascii последовательностей на другие

____________________________________________________________________________

в пхп было:

function utf2win($string)
{
$out='';
for($c=0;$c<strlen($string);$c++)
{
$i=ord($string[$c]);
if($i<=127) @$out.=$string[$c];
if(@$byte2)
{
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
$out_i=($new_i==1025)?168:(($new_i==1105)?184:($new_i-848));
@$out.=chr($out_i);
$byte2=false;
}
if(($i>>5)==6)
{
$c1=$i;
$byte2=true;
}
}
return $out;
}

вообще то это клоакинг, наверно лучше (для отвода глаз) сделать просто 2 версии каталогов товаров, а уже в зависимости от ip выделять в меню "Товары таких-то магазинов", чтобы структура сайт была постоянная, менялись только ссылки на разделы, но альтернативная версия всегда была доступна (хотя бы через карту сайта)

Можно и без крона

в начале файла - кэширующую функцию:

ob_start('cacher');

суть которой - проверка сохраненной статической версии файла. (если файла нет - создать и вывести буфер в браузер, если есть - просто вывод в браузер)

вроде того:

function cacher($buf,$url)

{

$path=str_replace('/','---',$url); // чтобы урл стал именем файла, а не путем

$file='/static/'.$path;

if(!is_file($file)

{

fopen($file,w+);

fputs($file,$buf);

fclose($file);

}

return $buf;

}

это так, набросок...

Для небольших сайтов неплохо было бы сделать переменную "Последнее обновление" и выдавать её как дату модификации (сайт ведь не каждый день обновляется, по крайней мере его разделы),

просто с новым обновлением сайта менять дату.

___________________________________

В начале файла вставить код:

$d="дата последнего обновления";

$lm=gmdate('D, d M Y H:i:s',$d).' GMT';

if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))

{

$ims=preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);

if($ims==$lm)

{

header('HTTP/1.0 304 Not Modified');

exit;

}

}

header('Last-Modified: '. $lm);

А у меня денюжка новую цифру кажет (был 70, стал 90).

p.s. Прошу не пинать если что, интернет сегодня вообще глючит...

ASCII-арт ищите, есть даже спец софт для "рисования"

ну, если не от пс, можно не отдавать/изменять javascript-файл через php, например, если реферер не соответствует странице, с которой он вызван (правда будет большой процент ложных срабатываний)

___________________________

Делал (до сих пор развиваю) информер, рефереры шлются самые экзотические, с страниц в кеше поисковиков, с предыдущих страниц (☝), со всяких онлайн-веб-компрессоров, так что много подводных камней, как извращенный вариант - незамаскированный ява-скрипт вызывает с параметрами (нужными) маскируемый скрипт :)

У соседей была тема: ко всему этому арабы (WM Metals FZE - ОАЭ) обязуются кило WMG менять на реальные килограммовые слитки http://owebmoney.ru/inform/inform73.shtml

Всего: 484