OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
php-general Digest 7 Oct 2005 09:51:18 -0000 Issue 3724

php-general-digest-helplists.php.net
Date: Fri Oct 07 2005 - 04:51:18 CDT


php-general Digest 7 Oct 2005 09:51:18 -0000 Issue 3724

Topics (messages 223715 through 223728):

Re: How do I POST data with headers & make the browser follow?
        223715 by: Ragnar
        223724 by: Ragnar
        223725 by: cron.odi.com.br

Re: PHP and XML
        223716 by: Robbert van Andel

incLomplete
        223717 by: Daevid Vincent

Re: PHP vs. ColdFusion
        223718 by: Rick Emery
        223720 by: Robert Cummings

Linux/PHP and Windows/MSSQL
        223719 by: Rick Emery
        223721 by: Robbert van Andel
        223722 by: Frank M. Kromann
        223723 by: Michael Crute

ob_start and ob_get_contents buffering problem
        223726 by: Dasdan
        223728 by: Petr Smith

PHP 4.4.0 references problems when using PEAR::SOAP
        223727 by: Denis Gerasimov

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscribelists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscribelists.php.net

To post to the list, e-mail:
        php-generallists.php.net

----------------------------------------------------------------------

attached mail follows:


The information that comes in from the first page is a creditcard form
with the standard values (CCnumber, Expiry Date, Cardholder name etc).

On page 2 an XMLrequest is done with a verification gateway (in this case to
check for enrolment in 3D-Secure), the result for that I get back on the
same page and no redirection needs to be done.

However AFTER the enrolment check with the gateway I need to send the user
along to the 3rd page, which is a URL that is provided by the verification
process.
So to get there, as I need to pass a heap of data to that 3rd page I can
either use GET or POST, but since the amount of data is fairly big the only
real option for this part seems POST.

So it's not really about keeping the data persistent, it's more about the
fact on how to push the user along correctly.

Hope that makes sense somehow.

Thanks for the reply.

> --- Ursprüngliche Nachricht ---
> Von: Brent Baisley <brentlandover.com>
> An: Ragnar <Ragnar_7gmx.de>
> Kopie: php-generallists.php.net
> Betreff: Re: [PHP] How do I POST data with headers & make the browser
> follow?
> Datum: Thu, 6 Oct 2005 08:57:02 -0400
>
> If the information is sensitive, why are you trying to fake a POST
> submission? A POST can be received from anywhere. SSL is just
> encrypting it, not verifying the client is the same. I would use
> session variables to store information you need to access from page
> to page. That way you can verify that you are talking to the same
> computer from the first two pages.
>
>
> On Oct 6, 2005, at 5:52 AM, Ragnar wrote:
>
> >
> > Hi guys/girls,
> >
> > I have to apologize if this issue has been discussed in detail
> > before but I
> > couldn't find anything obvious so far.
> >
> > What I need/want to do is to :
> >
> > 1. Take POST data from a form (no problem)
> > 2. Do whatever i need to on the target page (no problem)
> > 3. Pass some other data on to a 3rd page as a POST
> > request.
> > 4. Get the browser to follow to said 3rd page.
> >
> >
> > All this is happening via SSL.
> >
> > So basically what i am trying to do is to "fake" whatever happens
> > at a normal POST request that is handled by the browser.
> >
> > Now point 4. in my example above is giving me a massive headache,
> > I have managed to pass data on to the 3rd page as POST quite
> > comfortably
> > using cURL but the browser doesn't follow (ie. the URL in the
> > address bar
> > remains unchanged).
> >
> > I did see that there is a FOLLOWLOCATION option you can set in cURL
> > when you
> > do you request, and though "wicked, just what I needed" only to
> > find out
> > that it's not working (probably because I understand what it does
> > wrong).
> >
> > Pretty pretty please if anyone knows a solution for the above, let
> > me know.
> >
> > Oh, and I'd also like to add that the information I am trying to
> > get to the
> > 3rd page in the example is sensitive (Credit Card details etc.), so
> > $_GET
> > and $_COOKIE are out of the question.
> >
> > ANY help would be appreciated.
> >
> > Kind regards,
> > Ben
> >
> > --
> > 5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
> > +++ GMX - die erste Adresse für Mail, Message, More +++
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> >
>
> --
> Brent Baisley
> Systems Architect
> Landover Associates, Inc.
> Search & Advisory Services for Advanced Technology Environments
> p: 212.759.6400/800.759.0577
>
>

--
10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
+++ GMX - die erste Adresse für Mail, Message, More +++

attached mail follows:


Message-ID: <3B.35.54476.92125434pb1.pair.com>
To: php-generallists.php.net
Date: Thu, 06 Oct 2005 15:04:41 +0200
From: Petr Smith <pesmail2003seznam.cz>
Subject: Re: How do I POST data with headers & make the browser follow?

> I have to apologize if this issue has been discussed in detail before but
I
> couldn't find anything obvious so far.
>
> What I need/want to do is to :
>
> 1. Take POST data from a form (no problem)
> 2. Do whatever i need to on the target page (no problem)
> 3. Pass some other data on to a 3rd page as a POST
> request.
> 4. Get the browser to follow to said 3rd page.
>
>
> All this is happening via SSL.
>
> So basically what i am trying to do is to "fake" whatever happens
> at a normal POST request that is handled by the browser.
>
> Now point 4. in my example above is giving me a massive headache,
> I have managed to pass data on to the 3rd page as POST quite comfortably
> using cURL but the browser doesn't follow (ie. the URL in the address bar
> remains unchanged).
>
> I did see that there is a FOLLOWLOCATION option you can set in cURL when
you
> do you request, and though "wicked, just what I needed" only to find out
> that it's not working (probably because I understand what it does wrong).
>
> Pretty pretty please if anyone knows a solution for the above, let me
know.
>
> Oh, and I'd also like to add that the information I am trying to get to
the
> 3rd page in the example is sensitive (Credit Card details etc.), so $_GET
> and $_COOKIE are out of the question.

>Hi,
>
>it seems you have no understanding how http protocol works.. I can't
>learn you the whole thing, but I can give you some hints. Read something
>about HTTP
>(http://www.digital-web.com/articles/powering_the_web_with_http/),
>install some network sniffer (ethereal, HttpWatch for IE - great tool
>for beginners) and see what happens.
>
>- you cannot force browser to POST something somewhere with PHP. You
>have to realize, that PHP is running on server, but the browser is the
>client.
>- you cannot use curl to do it. With curl it all happens on the server.
>If you want to use curl, you have to use same technique used by "web
>based anonymous proxy". Return all loaded data to client, rewrite urls
>to your script, handle everything correctly until client closes browser.
>Very complex stuff
>- followlocation has nothing to do with browser. it only says to curl to
>evaluate Location header and do auto-redirection
>- sensitive information? GET, POST, COOKIE, everything could be
>intercepted
>- your only help is javascript. You can generate something like this to
>client browser with php. But you couldn't hide sensitive information
>this way.
><body onload="document.forms.myform.submit()">
><form name="myform" method="post">
> <input type="hidden" name="..." value="...">
></form>
>- think about your problem and possible solutions again

>Petr

Hi Petr,

thanks for the reply, first off i certainly didn't claim to be an expert on
the HTTP, which is why i was asking the question I did.
I do realise that PHP runs on the server and can't force the browser to do
anything directly, I was merely wondering why header("Location:"); got the
browser to follow and if there was a way for me to get the same behaiviour
working when PHP was posting data.

Anyway, I will look at my problem at hand again and will try something else.

Thanks for the tips.

--
Highspeed-Freiheit. Bei GMX supergünstig, z.B. GMX DSL_Cityflat,
DSL-Flatrate für nur 4,99 Euro/Monat* http://www.gmx.net/de/go/dsl

attached mail follows:


Print out the form and on the body tag put some javascript to do the post
stuff

ex:
<body onLoad="formName.submit();">
<form style="display:none">
</form>

style="display:none", this will hide form from the user

----- Original Message -----
From: "Ragnar" <Ragnar_7gmx.de>
To: <php-generallists.php.net>
Sent: Friday, October 07, 2005 1:30 AM
Subject: [PHP] Re: How do I POST data with headers & make the browser
follow?

> Message-ID: <3B.35.54476.92125434pb1.pair.com>
> To: php-generallists.php.net
> Date: Thu, 06 Oct 2005 15:04:41 +0200
> From: Petr Smith <pesmail2003seznam.cz>
> Subject: Re: How do I POST data with headers & make the browser follow?
>
>> I have to apologize if this issue has been discussed in detail before but
> I
>> couldn't find anything obvious so far.
>>
>> What I need/want to do is to :
>>
>> 1. Take POST data from a form (no problem)
>> 2. Do whatever i need to on the target page (no problem)
>> 3. Pass some other data on to a 3rd page as a POST
>> request.
>> 4. Get the browser to follow to said 3rd page.
>>
>>
>> All this is happening via SSL.
>>
>> So basically what i am trying to do is to "fake" whatever happens
>> at a normal POST request that is handled by the browser.
>>
>> Now point 4. in my example above is giving me a massive headache,
>> I have managed to pass data on to the 3rd page as POST quite comfortably
>> using cURL but the browser doesn't follow (ie. the URL in the address bar
>> remains unchanged).
>>
>> I did see that there is a FOLLOWLOCATION option you can set in cURL when
> you
>> do you request, and though "wicked, just what I needed" only to find out
>> that it's not working (probably because I understand what it does wrong).
>>
>> Pretty pretty please if anyone knows a solution for the above, let me
> know.
>>
>> Oh, and I'd also like to add that the information I am trying to get to
> the
>> 3rd page in the example is sensitive (Credit Card details etc.), so $_GET
>> and $_COOKIE are out of the question.
>
>>Hi,
>>
>>it seems you have no understanding how http protocol works.. I can't
>>learn you the whole thing, but I can give you some hints. Read something
>>about HTTP
>>(http://www.digital-web.com/articles/powering_the_web_with_http/),
>>install some network sniffer (ethereal, HttpWatch for IE - great tool
>>for beginners) and see what happens.
>>
>>- you cannot force browser to POST something somewhere with PHP. You
>>have to realize, that PHP is running on server, but the browser is the
>>client.
>>- you cannot use curl to do it. With curl it all happens on the server.
>>If you want to use curl, you have to use same technique used by "web
>>based anonymous proxy". Return all loaded data to client, rewrite urls
>>to your script, handle everything correctly until client closes browser.
>>Very complex stuff
>>- followlocation has nothing to do with browser. it only says to curl to
>>evaluate Location header and do auto-redirection
>>- sensitive information? GET, POST, COOKIE, everything could be
>>intercepted
>>- your only help is javascript. You can generate something like this to
>>client browser with php. But you couldn't hide sensitive information
>>this way.
>><body onload="document.forms.myform.submit()">
>><form name="myform" method="post">
>> <input type="hidden" name="..." value="...">
>></form>
>>- think about your problem and possible solutions again
>
>>Petr
>
> Hi Petr,
>
> thanks for the reply, first off i certainly didn't claim to be an expert
> on
> the HTTP, which is why i was asking the question I did.
> I do realise that PHP runs on the server and can't force the browser to do
> anything directly, I was merely wondering why header("Location:"); got the
> browser to follow and if there was a way for me to get the same behaiviour
> working when PHP was posting data.
>
> Anyway, I will look at my problem at hand again and will try something
> else.
>
> Thanks for the tips.
>
>
> --
> Highspeed-Freiheit. Bei GMX supergünstig, z.B. GMX DSL_Cityflat,
> DSL-Flatrate für nur 4,99 Euro/Monat* http://www.gmx.net/de/go/dsl
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

attached mail follows:


Yes, I resolved the problem today by installing this RPM via yum. I had
assumed it was already installed because I was able to do some XML parsing
without it.

I was able to get the XML transformed and it looks good, if I do say so
myself :)

Robbert

-----Original Message-----
From: Rick Emery [mailto:rickemery.homelinux.net]
Sent: Thursday, October 06, 2005 8:05 AM
To: php-generallists.php.net
Subject: RE: [PHP] PHP and XML

Quoting Robbert van Andel <phpswimwebs.com>:

> Thanks, I'm investigating XSL and it looks pretty good. We use an RPM
based
> installation of PHP version 5.0.4. I see on PHP.net's website that XSL
> comes standard with PHP 5 and you need to enable it by adding the argument
> --with-xsl to the configure line. How do I do this when we did not build
> PHP from source? Is there another way to get XSL activated?
>
> Thanks for your help
> Robbert

You don't mention which distro you're using, but Fedora Core 4 has a
php-xml rpm to "...add support to PHP for manipulating XML documents
using the DOM tree, and performing XSL transformations on XML
documents."

Hope this helps,
Rick
--
Rick Emery

"When once you have tasted flight, you will forever walk the Earth
with your eyes turned skyward, for there you have been, and there
you will always long to return"
                                              -- Leonardo Da Vinci

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

attached mail follows:


Just saw this error. PHP 5.0.3

 Warning: Invalid or inclomplete context in foo.php on line 42

HAHAHAHHAH. "inclomplete".

:p

"You had me at EHLO" --E.Webb (10.04.05)

attached mail follows:


Quoting Angelo Zanetti <angelozlogic.co.za>:

> Please let us know what the outcome is!!

A *huge* "THANK YOU" to everyone who helped me with this (yes, even
those who recommended Cold Fusion)! For those interested, our
organization has decided (much to my surprise) to go with PHP running
on Linux.

Thanks again to everyone.
Rick
--
Rick Emery

"When once you have tasted flight, you will forever walk the Earth
with your eyes turned skyward, for there you have been, and there
you will always long to return"
                                              -- Leonardo Da Vinci

attached mail follows:


On Thu, 2005-10-06 at 21:15, Rick Emery wrote:
> Quoting Angelo Zanetti <angelozlogic.co.za>:
>
> > Please let us know what the outcome is!!
>
> A *huge* "THANK YOU" to everyone who helped me with this (yes, even
> those who recommended Cold Fusion)! For those interested, our
> organization has decided (much to my surprise) to go with PHP running
> on Linux.

Woot! Management with half a brain :)

Gratz!

Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'

attached mail follows:


Knowing that I'm not the only one to want to connect to Microsoft SQL
Server on Windows from PHP and Apache on Linux, I'm seeking advice.

I set up a proof-of-concept application, using Gentoo Linux (with which
I'm most familiar) as my base. Being a compile-from-source distribution
with a lot of packages available, I simply had to set the "mssql" USE
flag and emerge freetds and php. Voila; connectivity.

Not surprisingly, now that my organization has decided to go with PHP
on Linux, management wants to use a commercially supported distribution
(Red Hat or Novell/SUSE). I was surprised to discover that I couldn't
find RPMs for freetds, nor could I find php-mssql RPMs, and the php
RPMs available in the yum repositories weren't compiled with
--with-mssql.

Is my only recourse to build freetds and php from source? I'm certainly
capable of doing it, but I won't be the server administrator and I
think it defeats what management wants to accomplish with a
commercially supported distro (package management with easy updates).

Is anybody in a similar environment that has an easy solution, or can
anybody offer advice?

Thanks in advance,
Rick
--
Rick Emery

"When once you have tasted flight, you will forever walk the Earth
with your eyes turned skyward, for there you have been, and there
you will always long to return"
                                              -- Leonardo Da Vinci

attached mail follows:


There are freetds rpms out there as well as mssql rpms. I got it to work on
a Fedora Core 1 box but since upgrading to Fedora Core 4 I was not able to
find any rpms for either because they are not available for PHP5 (yet). If
you find any I'd love to know. Sorry I can't point to where I got them with
the older version of PHP because those notes are at work.

Robbert van Andel

-----Original Message-----
From: Rick Emery [mailto:rickemery.homelinux.net]
Sent: Thursday, October 06, 2005 6:30 PM
To: php-generallists.php.net
Subject: [PHP] Linux/PHP and Windows/MSSQL

Knowing that I'm not the only one to want to connect to Microsoft SQL
Server on Windows from PHP and Apache on Linux, I'm seeking advice.

I set up a proof-of-concept application, using Gentoo Linux (with which
I'm most familiar) as my base. Being a compile-from-source distribution
with a lot of packages available, I simply had to set the "mssql" USE
flag and emerge freetds and php. Voila; connectivity.

Not surprisingly, now that my organization has decided to go with PHP
on Linux, management wants to use a commercially supported distribution
(Red Hat or Novell/SUSE). I was surprised to discover that I couldn't
find RPMs for freetds, nor could I find php-mssql RPMs, and the php
RPMs available in the yum repositories weren't compiled with
--with-mssql.

Is my only recourse to build freetds and php from source? I'm certainly
capable of doing it, but I won't be the server administrator and I
think it defeats what management wants to accomplish with a
commercially supported distro (package management with easy updates).

Is anybody in a similar environment that has an easy solution, or can
anybody offer advice?

Thanks in advance,
Rick
--
Rick Emery

"When once you have tasted flight, you will forever walk the Earth
with your eyes turned skyward, for there you have been, and there
you will always long to return"
                                              -- Leonardo Da Vinci

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

attached mail follows:


Hi Rick,

FreeTDS is still a fast moving target and so is PHP in some areas. Getting
pre-compiled RPM's would often force you to run older versions. Compiling
from source enables you to keep up to date with the latest features and
bug-fixes. If you are running this on multiple computers it's not a big
task to copy all files from one test/development box to a number of other
systems, as long as the configurations are the same.

- Frank

> Knowing that I'm not the only one to want to connect to Microsoft SQL
> Server on Windows from PHP and Apache on Linux, I'm seeking advice.
>
> I set up a proof-of-concept application, using Gentoo Linux (with which

> I'm most familiar) as my base. Being a compile-from-source distribution

> with a lot of packages available, I simply had to set the "mssql" USE
> flag and emerge freetds and php. Voila; connectivity.
>
> Not surprisingly, now that my organization has decided to go with PHP
> on Linux, management wants to use a commercially supported distribution

> (Red Hat or Novell/SUSE). I was surprised to discover that I couldn't
> find RPMs for freetds, nor could I find php-mssql RPMs, and the php
> RPMs available in the yum repositories weren't compiled with
> --with-mssql.
>
> Is my only recourse to build freetds and php from source? I'm certainly

> capable of doing it, but I won't be the server administrator and I
> think it defeats what management wants to accomplish with a
> commercially supported distro (package management with easy updates).
>
> Is anybody in a similar environment that has an easy solution, or can
> anybody offer advice?
>
> Thanks in advance,
> Rick
> --
> Rick Emery
>
> "When once you have tasted flight, you will forever walk the Earth
> with your eyes turned skyward, for there you have been, and there
> you will always long to return"
> -- Leonardo Da Vinci
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

attached mail follows:


On 10/6/05, Rick Emery <rickemery.homelinux.net> wrote:
>
> Knowing that I'm not the only one to want to connect to Microsoft SQL
> Server on Windows from PHP and Apache on Linux, I'm seeking advice.
>
> I set up a proof-of-concept application, using Gentoo Linux (with which
> I'm most familiar) as my base. Being a compile-from-source distribution
> with a lot of packages available, I simply had to set the "mssql" USE
> flag and emerge freetds and php. Voila; connectivity.
>
> Not surprisingly, now that my organization has decided to go with PHP
> on Linux, management wants to use a commercially supported distribution
> (Red Hat or Novell/SUSE). I was surprised to discover that I couldn't
> find RPMs for freetds, nor could I find php-mssql RPMs, and the php
> RPMs available in the yum repositories weren't compiled with
> --with-mssql.
>
> Is my only recourse to build freetds and php from source? I'm certainly
> capable of doing it, but I won't be the server administrator and I
> think it defeats what management wants to accomplish with a
> commercially supported distro (package management with easy updates).
>
> Is anybody in a similar environment that has an easy solution, or can
> anybody offer advice?
>

Being that you are already a Gentoo user you could use Portage to build your
RPMs for you. Not positive how to do this as I personally despise RPM but I
know it can be done. Check the man pages. " It is possible to create RPMs
(Redhat package manager files) using Gentoo's Portage, but it is not
currently possible to use already existing RPMs to install packages." (from
the Gentoo site).

-Mike

--
________________________________
Michael E. Crute
Software Developer
SoftGroup Development Corporation

Linux, because reboots are for installing hardware.
"In a world without walls and fences, who needs windows and gates?"

attached mail follows:


question:
I try to buffer the output of the 'system/views/main.php' into $contents.
and then do a print.
Problem is that the contents of the system/views/main.php are printed 2
times.
Someone who can explain me?
following the contents of testfile.php and main.php, php.ini settings
concerning ob_ ... functions and the output of the script.

Thanks in advance,

Kevin Wood
http://www.dasdan.be

<?php
// testfile.php
ob_start();
    include 'system/views/main.php';
$contents = ob_get_contents();

print 'no output above normally ??? :(';
print $contents;
?>

<?php
// file :system/views/main.php

print <<<P1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
     <title>The Task List</title>
</head>
<body>
    <div>
    <h3>test</h3>
    <p>
</body>
</html>
P1;
?>

php.ini settings
....
output_buffering = Off
output_handler zlib.output_compression = Off
implicit_flush = Off
....

the output :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
<title>The Task List</title>
</head>
<body>
<div>
<h3>test</h3>
<p>

</body>
</html>no output above normally ??? :(<!DOCTYPE HTML PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
<title>The Task List</title>
</head>
<body>
<div>
<h3>test</h3>
<p>

</body>
</html>

attached mail follows:


Dasdan wrote:
> question:
> I try to buffer the output of the 'system/views/main.php' into $contents.
> and then do a print.
> Problem is that the contents of the system/views/main.php are printed 2
> times.
> Someone who can explain me?
> following the contents of testfile.php and main.php, php.ini settings
> concerning ob_ ... functions and the output of the script.

Hi,

you have to use

<?php
// testfile.php
ob_start();
include 'browsers.html';
$contents = ob_get_contents();
ob_end_clean();
print 'no output above normally ??? :(';
print $contents;
?>

because include goes to buffer, print's go to buffer and on the end the
buffer is automatically flushed out. So it's the 2x - once for include,
once for "print $contents"

Simple eh?

Petr

attached mail follows:


Hello list,

I am facing serious troubles when using PEAR::SOAP with PHP 4.4.0 while it
works fine with PHP 4.3.9.
PHP 4.4.0 produces many notices like these:

Notice: Only variable references should be returned by reference in
C:\PHP4\PEAR\SOAP\Value.php on line 118
Notice: Only variable references should be returned by reference in
C:\PHP4\PEAR\SOAP\WSDL.php on line 668
Notice: Only variable references should be returned by reference in
C:\PHP4\PEAR\SOAP\Value.php on line 118

and so on.

What is the problem?

Currently I have rolled back to version 4.3.9 but this problem will appear
again after upgrade, of course, - is there any solution (say, php.ini
setting etc.)?

Have a great day,
 
Denis S Gerasimov
Web Developer
Team Force LLC

Web: www.team-force.org
RU & Int'l: +7 8362-468693
email: denis.gerasimovteam-force.org