phpBMS

root/trunk/phpbms/dbgraphic.php

Revision 708, 3.5 KB (checked in by brieb, 2 years ago)
  • Completed Security Fix for SQL injection
  • Property svn:keywords set to LastChangedBy LastChangedDate LastChangedRevision
Line 
1<?php
2/*
3 $Rev$ | $LastChangedBy$
4 $LastChangedDate$
5 +-------------------------------------------------------------------------+
6 | Copyright (c) 2004 - 2010, Kreotek LLC                                  |
7 | All rights reserved.                                                    |
8 +-------------------------------------------------------------------------+
9 |                                                                         |
10 | Redistribution and use in source and binary forms, with or without      |
11 | modification, are permitted provided that the following conditions are  |
12 | met:                                                                    |
13 |                                                                         |
14 | - Redistributions of source code must retain the above copyright        |
15 |   notice, this list of conditions and the following disclaimer.         |
16 |                                                                         |
17 | - Redistributions in binary form must reproduce the above copyright     |
18 |   notice, this list of conditions and the following disclaimer in the   |
19 |   documentation and/or other materials provided with the distribution.  |
20 |                                                                         |
21 | - Neither the name of Kreotek LLC nor the names of its contributore may |
22 |   be used to endorse or promote products derived from this software     |
23 |   without specific prior written permission.                            |
24 |                                                                         |
25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS     |
26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT       |
27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
28 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT      |
29 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   |
30 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT        |
31 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,   |
32 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY   |
33 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT     |
34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE   |
35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.    |
36 |                                                                         |
37 +-------------------------------------------------------------------------+
38*/
39session_cache_limiter('private');
40require_once("include/session.php");
41
42if(!isset($_GET["t"]) or !isset($_GET["r"]))
43    $error = new appError(200, "passed parameters not set");
44
45switch($_GET["t"]){
46
47    case "productThumb":
48        $table = "products";
49        $fileField = "thumbnail";
50        $mimeField = "thumbnailmime";
51
52    case "productPic":
53        $table = "products";
54        $fileField = "picture";
55        $mimeField = "picturemime";
56
57        break;
58
59    case "file":
60        $table = "files";
61        $fileField = "file";
62        $mimeField = "type";
63        break;
64
65}//endswitch
66
67$id = (int) $_GET["r"];
68
69$querystatement = "
70    SELECT
71        `".$fileField."` AS theFile,
72        `".$mimeField."` AS theMime
73    FROM
74        ".$table."
75    WHERE
76        id = ".$id;
77
78$queryresult = $db->query($querystatement);
79
80if($db->numRows($queryresult)){
81
82    $therecord = $db->fetchArray($queryresult);
83
84    header('Content-type: '.$therecord["theMime"]);
85
86    echo $therecord["theFile"];
87
88}//end if
89?>
Note: See TracBrowser for help on using the browser.
Scanned by Orvant Copyright © 2010 Kreotek, LLC. All Rights reserved.