|
|
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть PHP WEB форма. Данная форма работает с СУБД Postgresql. С помощью формы заносится/меняется та или иная инфа в базе. СУБД ведет аудит всех изменений (аля тригер на таблицах). Данный аудит выхватывает IP из сессии соединения. Бяка в том что этот айпи всегда равен айпи сервера где установлен php (веб сервер). Мне же надо айпи той машины, с которой человек вышел на веб сервер. Средствами php легко вычислить этот айпи, но вот как его подсунуть в pg_connect, т.е. создать соединение и подсунуть ему айпи клиента. Подобные приколы делаются другими языками. например: in perl: $sql=$sql." -- IP=$ENV{REMOTE_ADDR},ID=$id,PAGE=$ENV{SCRIPT_FILENAME}"; or in jsp: sql = "select ... from customers -- " + "url: " + request.getRequestURI() + " ip: " + request.getRemoteAddr(); Есть ли в php такая штукенция ? Александр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 17:12 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
xandr_ukr, xandr_ukrin perl: $sql=$sql." -- IP=$ENV{REMOTE_ADDR},ID=$id,PAGE=$ENV{SCRIPT_FILENAME}"; or in jsp: sql = "select ... from customers -- " + "url: " + request.getRequestURI() + " ip: " + request.getRemoteAddr(); Никогда не встречал такую конструкцию. Не понял. Это параметризованный запрос? Если он, то в php это есть, как понимаю передача идёт в запросе, если так то от ЯП это не зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:26 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
xandr_ukr, В обоих случаях это простая конкатенация строк, которая есть во всех языках. А вот почему добавляемые значения идут в SQL-комментарии - я не понял (два минуса - это же строчный комментарий в Postgresql, как и в других СУБД?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:31 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
miksoft, Понятно что конкактенация, так же точно что и -- - комментарий, я первый раз вижу чтоб так параметры через комментарии передавали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:42 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
Давайте не будем разбирать perl. Вопрос в php. Что можно проинициализировать перед созданием сессии в постгрес со стороны php, чтобы постгрес распознал ip не сервера а реального клиента. Что-то типа тунеля по значению $_SERVER['REMOTE_ADDR'] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:44 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
xandr_ukr, xandr_ukrДавайте не будем разбирать perl. Вопрос в php. Тогда пример к чему? Так же как в примере можно. Только я не понимаю как пример работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:47 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
SergSW, автор$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'"); Из док-ции вероятно через options можно будет к каким-нибудь ключом протащить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 20:50 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
SergSW, Вот вот .... именно оно .... осталось понять с каким ключиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 21:01 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
С каким-то... неважным для нормальной работы, видимо. Но тут уж вопрос к специалистам по Postgre. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 21:07 |
|
||
|
PHP. Как передать в сессию БД IP адрес клиента
|
|||
|---|---|---|---|
|
#18+
xandr_ukrДавайте не будем разбирать perl. Вопрос в php. Что можно проинициализировать перед созданием сессии в постгрес со стороны php, чтобы постгрес распознал ip не сервера а реального клиента. Что-то типа тунеля по значению $_SERVER['REMOTE_ADDR']А чем $_SERVER['REMOTE_ADDR'] не годится? Судя по примерам, Вы уверены, что Postgresql поймет Вас правильно. Вот и конктатенируйте $_SERVER['REMOTE_ADDR'] по такому же образцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 21:59 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38027212&tid=1464460]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
186ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 505ms |

| 0 / 0 |
