Upload controleren op content

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yordi B

Yordi B

02/07/2006 10:30:00
Quote Anchor link
ik wil dit plaatje upload systeem laten controleren op cintent dat ze geen dingen in het plaatje zetten en uploaden hij cintrolerrt nu alleen op extensie


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
    <link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
    <link rel="shortcut icon" href="favicon.ico" />
    <meta http-equiv="imagetoolbar" content="false" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>DomainName.com</title>

    <script language="JavaScript">
    <!--
    function isValid() {
        var isOK = false;
         if ((document.upload.name.value != '') && (document.upload.name.value.length > 1)) {
             isOK = true;
         }
         else {
            alert ('Geef je Signature een naam.')
            isOK = false;
         }

        var fileName = document.upload.upfile.value.toLowerCase();

        if((fileName.indexOf('.jpeg') != -1) ||
            (fileName.indexOf('.jpe') != -1) ||
            (fileName.indexOf('.jpg') != -1) ||
            (fileName.indexOf('.gif') != -1) ||
            (fileName.indexOf('.png') != -1) ) {
            isOK = true;
        }
        else {
            alert ('Verkeerde file name moet GIF PNG of JPEG JPG zijn.');
            isOK = false;
        }

        if(isOK) {
            showProgress();
        }

         return isOK;
    }

    function showProgress() {
        document.getElementById("progress").style.visibility = 'visible';
        document.getElementById("submit").disabled = true;
    }

    function hideProgress() {
        document.getElementById("progress").style.visibility = 'hidden';
        document.getElementById("submit").disabled = false;
    }
    //-->
    </script>
</head>

<body>

<? include('includes/header.php'); ?>


<div id="main">
    <table cellpadding="0" cellspacing="0" border="0" width="100%">

<?

if(isset($_FILES['upfile'])) {

    require_once('mysqlvalues.inc.php');
    require_once('mysqlfunc.inc.php');
    
    open_conn();
    
    $Name=my_addslashes($_POST[name]);
    $LinkText=my_addslashes($_POST[linktext]);
    $LinkUrl = trim(preg_replace('/http:\/\//', '', $_POST[linkurl], 1));
    if($LinkUrl != '') {$LinkUrl="http://$LinkUrl";}
    
    $res=mysql_query("INSERT INTO Models SET DateTime=NOW(), Name='$Name', Wins='0', Loses='0', Draws='0', Status='0', LinkText='$LinkText', LinkUrl='$LinkUrl'");
    
    $id=mysql_insert_id();
    $extension=explode('.', $_FILES['upfile']['name']);
    $imagename=str_replace(' ', '',  "$id"  . ".$extension[1]");

    if (move_uploaded_file($_FILES['upfile']['tmp_name'], "images/uploads/$imagename")) {

    chmod("images/uploads/$imagename", 0777);

    mysql_query("UPDATE Models SET Thumbnail='$imagename' WHERE ID='$id'");
    
    $message="<br><strong>Bestand Ontvangen!<br/></strong>Het wordt gekeurd en gepost,meestal binnen 24 uur.<br/><br/><strong>You'll be able to see your submission at: <br/><a href=\"http://domainname.com/stats.php?id=$id\">http://domainname.com/stats.php?id=$id</a> <font color='red'>(save this link)</font></strong><br/><br/><br/>";

    }
else{mysql_query("DELETE FROM Models WHERE ID='$id'"); $message="<strong>Fout bij het ontvangen.</strong><br/><br/><br/>";}
    
    close_conn();

        echo"<tr>
            <td width=\"150\" id=\"results\">
            &nbsp;
            </td>
            <td width=\"550\" id=\"vote\" align=\"left\">
                <p>

                    $message
<br/>
                                            <p><a href=\"upload.php\">Upload another picture</a>.</p>
                                    </p>
                <p align=\"center\"><a href=\"index.php\"><u>Begin nieuwe battle!</u></a></p>
            </td>

            <td width=\"150\" id=\"sponsor\">"
;
            
        include('includes/rightbanners.php');
            
            echo"<p align=\"center\">
                &nbsp;
            </p>
            </td>
        </tr>"
;

}
else{
        
        echo"<tr>
            <td width=\"150\" id=\"results\">
            &nbsp;
            </td>
            <td width=\"550\" id=\"vote\" align=\"left\">
                <p>

                    <form action=\"upload.php\" onSubmit=\"return isValid()\" method=\"post\" name=\"upload\" enctype=\"multipart/form-data\">
                    <br/>
                                        <strong>Submit your model for battle!</strong>
                    <ul>
                        <li>We bekijken je plaatje voor die online zichtbaar is.</li>
                        
                        <li>Post Aub alleen signatures andere dingen worden verwijderd.</li>
                        <li>Plaatjes moeten geroteerd worden tot goeie orientatie.</li>
                        <li>.jpg .gif of .png formaten <strong><em>ONLY</em></strong>, Aub.</li>

                    </ul>
                    <p>
                    <br/><label><strong>Sig Naam:</strong>&nbsp;</label><input type=\"text\" name=\"name\" id=\"name\" maxlength=\"20\"/> <em>Required</em>
                    <br/><label><strong>Link Text:</strong>&nbsp;</label><input type=\"text\" name=\"linktext\" id=\"lintext\"/>
                    <br/><label><strong>Link Url:</strong>&nbsp;</label><input type=\"text\" name=\"linkurl\" id=\"linkurl\"/>
                    <br/><label><strong>Plaatje :</strong>&nbsp;</label><input type=\"file\" name=\"upfile\" id=\"upfile\" />
                    <br/><label>&nbsp;</label><input type=\"submit\" id=\"submit\" name=\"submit\" value=\"Upload Picture\"/>&nbsp;<span id=\"progress\"><img src=\"images/busy_blue.gif\"/>&nbsp;<strong>Uploading picture...</strong></span>
                    <script language=\"JavaScript\">
                             hideProgress();
                    </script>

                    </p>
                    </form>
                    <p><strong>Notice:</strong>Door materiaal te uploaden accepteert u de regel in onze <a href=\"legal.php\">disclaimer</a>.</p>
                                    </p>
                <p align=\"center\"><a href=\"index.php\"><u>Start een nieuwe battle!</u></a></p>
            </td>

            <td width=\"150\" id=\"sponsor\">"
;
            
            include('includes/rightbanners.php');
            
            echo"<p align=\"center\">
                &nbsp;
            </p>
            </td>
        </tr>"
;
}


?>


    </table>
</div>

<? include('includes/footer.php'); ?>

</div>
</body>
</html>
 
PHP hulp

PHP hulp

19/04/2024 03:02:38
 
PHP Newbie

PHP Newbie

02/07/2006 10:41:00
Quote Anchor link
geen dingen in een plaatje zetten?

Leg uit, want de content van een plaatje kun je niet scannen...
 
Yordi B

Yordi B

02/07/2006 10:44:00
Quote Anchor link
eeh jij opent bijv een plaatje in kladblok gaat helemaal naa ronderen en zet daar bijv. een shell in gaat naar de url van je plaatje en dan heb je eerst plaatje en daarionder staat gewoon de shell :S

daar wil ik op controleren heb het eerder gezien maar weet niet meer waar
 
Roy Bongers

Roy Bongers

02/07/2006 12:03:00
Quote Anchor link
http://nl2.php.net/manual/en/ref.fileinfo.php

De functie fileinfo_file() doet dit. Je moet echter wel die library geinstalleerd hebben. Maar deze methode is dus ook niet bulletproof.

Ik heb verder ook wel eens gezocht naar een andere oplossing maar die is er niet. Wat je evt wel nog zou kunnen doen is proberen er een image object van te maken mbv imagecreatefromjpeg() oid. Deze zal falen als het plaatje niet correct is gok ik. Ik weet niet zeker of deze methode werkt aangezien ik 't nog nooit getest heb.
Gewijzigd op 01/01/1970 01:00:00 door Roy Bongers
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.