1: |
Which function would you use to open a pipe to a process?
|
2: |
How would you read data from a process after you have opened a connection?
|
3: |
How can you write data to a process after you have opened a connection to it?
|
4: |
Will the exec() function print the output of a shell command directly to the browser?
|
5: |
What does the system() function do with the output from an external command it executes?
|
6: |
What does the backtick operator return?
|
7: |
How can you escape user input to make it a little safer before passing it to a shell command?
|
8: |
How might you execute an external CGI script from within your script?
|
| |
A1:
| You open a connection to a process with the function popen(). |
| |
A2:
| You can read from a process you have opened with popen() as you would from a file. In other words, you can use functions such as feof() and fgets(). |
| |
A3:
| You can write to a process as you could with a file, usually with the fputs() function. |
| |
A4:
| The exec() function accepts an array variable, which it fills with the output of the shell command it makes. Output is not sent directly to the browser. |
| |
A5:
| The system() function prints the output of the external command directly to the browser. |
| |
A6:
| The backtick operator returns the output of the external command it calls. This can be stored, parsed, or printed. |
| |
A7:
| You can escape user input to make it safer using the escapeshellcmd() function. The safest way to execute shell commands, though, is to refrain from passing user input at all. |
| |
A8:
| The virtual() function calls an external CGI script. |