| HOW TO CREATE AN iBULC COMPATIBLE
SERVER SIDE SCRIPT |
| The script has 3 actions (outputs) depending on how
the script is called. It is a good idea to look at one of the sample
script so that you can follow the method. |
| The Setup |
The script should print out a page with a JavaScript that checks
if the iBULC client is on-line. If the iBULC client is off-line
then explain were the iBULC can be downloaded or that it needs to
be started up. If the iBULC client is on-line then the JavaScript
forwards the user to the setup URL which should be constructed as
explained here.
Once the customer has been forwarded he/she should see the content
of its hard disk and can start selecting files that he/she wants
to upload. An example of the JavaScript can be found in the example
server side scripts. |
| The Fraud Check |
If you have included the iB_encryption=value in the setup
URL then the iBULC client will connect to your script just before
the upload starts with the query FRAUD_KEY=value&COMPARE_KEY=value.
Your script will need to return either TRUE or FALSE after you have
reconstructed the original iB_encryption value from the COMPARE_KEY
value and compared it with the FRAUD_KEY value. For more
info read one of the example scripts and/or the client
setup instructions. Note that if the iB_encryption=value
is not included in the setup URL then the iBULC client will not
perform this fraud check. This might be useful in the beginning
to test the script if you are having problems but it is not recommended
since in theory the user could then modify the setup URL and change
critical data like file size and file types in the URL. |
| The Upload |
This will do the actual upload. The iBULC client will upload 1
file at a time (2 or 3 files if you also have setup the client side
thumbnailing). This has some huge advantages:
Time out: When sending a hundred files of 1 MB each at once
to your script it will most likely time out. Not with iBULC since
each file uploads individually.
Processing: Since each file is send individually the processing
time is going to be very small each time. This will make ISP happy
since they don't like long running processes.
Connection: If a (dialup) connection is lost halfway then
the files that were send are not lost since they are already processed.
When the iBULC client connects to your script with the file(s) it
does so as defined by RFC
1867. It will send the following fields:
| FILE1 |
The file as located on the users hard disk. |
| FILE2 |
A resized version of the file if requested. |
| FILE3 |
A resized version of the file if requested. |
| FIELD |
The value of iB_field_value if requested. |
FRAUD_KEY + COMPARE_KEY |
These are send as an extra security check.
Please look at an example script how they can be used. You
do not need to do anything with them since the fraud check
was already passed. However someone could (very unlikely)
create their own posting client that bypasses the fraud check.
With this double fraud check at each upload you guarantee
that your script is 100% safe from unauthorized upload. |
Note that the value of iB_cookie will be send to your script
as a cookie. You can use this for login session or other info that
needs to be passed to your script other then the iB_field_value.
After each successful upload your script should return "Done".
This will then be shown in the iBULC client next to each file. If
you have set iB_custom_result=0 then anything else then "Done"
will result in a "Failed" message in the iBULC client.
This is recommended since no server error messages are shown in
this way. If you set iB_custom_result=1 then anything your
script outputs will be shown in the iBULC client next to each file
that was uploaded. |