Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как принять POST запрос?

Сообщения:  [1-10]   [11-19] 

 
 автор: HaJIuBauKa   (27.01.2009 в 08:52)   письмо автору
 
   для: rtland   (26.01.2009 в 20:04)
 

Однако
Вы пытаетесь, пост-данные представить в виде строки запроса чтоли? (видимо затем, чтобы хакеру потом обратно отсылать :) )
дак вот есть замечательная функция: http_build_query
http://www.php.net/manual/ru/function.http-build-query.php

Она из любого массива ключ-значение вернет вам строку типа: key1=v1&key2=v2&key3=v3...

вопрос: зачем вам это?
Ах да, записать вам его надо. Куда записать? Если в лог файл в виде строки, тогда так:

<?php

$log 
"";

$postdata serialize($_POST);

$log .= date("d.m.Y H:i:s")." - START POST >>>>>>\n\n";
$log .= $postdata;
$log .= date("d.m.Y H:i:s")." - END POST <<<<<<\n\n";

// запись в лог
if (@filesize("post.log") < 2000000$fl fopen("post.log""a");
    else 
$fl fopen("logs/events.log""w");
fwrite($fl$log);
fclose($fl);

?>


Только учтите, что пост-данные могут быть ооочень большими. В скрипте моем есть ограничение размера файла в 2 мб. потом он будет перезаписан.

  Ответить  
 
 автор: sim5   (27.01.2009 в 05:53)   письмо автору
 
   для: rtland   (26.01.2009 в 20:04)
 

А вы не пробовали весь POST-массив вывести на экран? Может быть тогда вы (с удивлением) узнаете, что нет в нем ? и & как разделителей.

  Ответить  
 
 автор: rtland   (27.01.2009 в 00:35)   письмо автору
 
   для: Trianon   (26.01.2009 в 23:48)
 

Ну это вам его не зачем знать. А мне очень нужно знать каким образом хакеры отакуют мой сервис чтоб потом ставить защиту против их отак. Ну и самому охота узнать чтож за злобный код они посылают.
Потому что все что пишут на форумах хакерских не года не работает, сколько на своем сайте не испытывал все бесталку.

  Ответить  
 
 автор: Trianon   (26.01.2009 в 23:48)   письмо автору
 
   для: rtland   (26.01.2009 в 23:35)
 

зачем его узнавать?
URI - строка относительно короткая. Ничего не мешает её хранить в переменной всё время выполнения.
Тело POST-запроса может быть размером ... каким угодно. В том числе и больше объема оперативной памяти.
И из-за чьей-то прихоти его держать не станут, тем более, что вся полезная информация уже переброшена в разобранном виде в массивы и файлы.

  Ответить  
 
 автор: rtland   (26.01.2009 в 23:35)   письмо автору
 
   для: Loki   (26.01.2009 в 22:01)
 

Притом что приходящий ГЕТ запрос можно узнать при помощи REQUEST_URI, а вот чтоб узнать приходящий ПОСТ запрос нет не чего, кроме того что сам придумаешь.

  Ответить  
 
 автор: Loki   (26.01.2009 в 22:01)   письмо автору
 
   для: rtland   (26.01.2009 в 20:00)
 

А при чем тут гет? Вас не интересует что означает URI?

  Ответить  
 
 автор: rtland   (26.01.2009 в 20:04)   письмо автору
 
   для: rtland   (26.01.2009 в 00:41)
 

Долго думая, сделал вот так:
$qwe_key = array_keys($_POST);
$qwe_val = array_values($_POST);
$qwe_con = count($_POST);
$qwe_vop = "?";
$qwes = "&";
$qwer = "=";
$val_0 = $qwe_vop.$qwe_key[0].$qwer.$qwe_val[0];
$qwe_var = $qwe_con - 1;
$qwe_num = 0;
while(++$qwe_num <= $qwe_con){
$val_0 .= $qwes.$qwe_key[$qwe_num].$qwer.$qwe_val[$qwe_num];
}

И всеже гдето запутался.

  Ответить  
 
 автор: rtland   (26.01.2009 в 20:00)   письмо автору
 
   для: sim5   (26.01.2009 в 10:03)
 

REQUEST_URI

  Ответить  
 
 автор: sim5   (26.01.2009 в 10:03)   письмо автору
 
   для: rtland   (26.01.2009 в 02:30)
 

>А еще вопрос.
>Ну а тогда зачем для ГЕТ запроса функцию придумали.

Какую функцию?

  Ответить  
 
 автор: rtland   (26.01.2009 в 02:30)   письмо автору
 
   для: sim5   (26.01.2009 в 02:24)
 

Все спасибо. уже разобрался сложного не чего нет.
Просто испугался сначала.
думал на пол страницы вся функция займет, а заняла всего две строчки.
Большое спасибо что на путь истенный поставили.

А еще вопрос.
Ну а тогда зачем для ГЕТ запроса функцию придумали.

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования