permission denied with chmod777
Hoe kan dat? tog permission denied with chmod 777??
En de maprechten? Heb je wel het juiste path?
De mappen waar hij "doorheen" moet zijn allemaal 777 en als ik pad verander dan is het no such file or directory. En als de map goed is dan is het permission denied.
Dan weet ik het ook niet.
probeer je zelf toegang te krijgen, of via een script?
Script die de geselecteerde bestanden moet verwijderen.
ik heb wel eens gehad dat hij: /map/test.jpg wel deed
en: http://www.example.com/map/test.jpg niet deed
misschien ligt het daar aan ;)
Nu staan er ook vinkjes om die te verwijderen. Als i kdat doe zegt hij permission denied. zelfs als ik de 2 mappen 777 en alle doel bestanden 777 zet nog permission denied. maar uploaden in die zelfde map gaat wel :S
het is misschien handiger met een stukje code ;)
Code (php)
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
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
<?php
include_once ('jscripts/tiny_mce/tiny_mce.php');
include_once ('jscripts/confirm/index.php');
// controleren of er ingelogd is en rechten zijn om de pagina te bekijken
if(@!CheckLogin())
{ echo "Er zijn niet genoeg rechten om deze pagina te bekijken.";
die();
}
require_once('CreateThumb.php');
//-----------------------------------------------------------------------
// Display errors ------------------------------------
ini_set('display_errors', 1);
error_reporting (E_ALL);
//---------------------------------------------------
// ---- Zetten van ongedeclareerde variabelen -----
if (!isSet($_GET['sub']))
{
$_GET['sub'] = "";
}
else
{
$_GET['sub'] = $_GET['sub'];
}
function Menu()
{
$Menu = "
<p>
<table>
<tr class='groen'>
<td><a href='".LinkURL('material', $row['id'])."' onClick=\"window.open('lettertype/toevoegen.php','Slideshow foto toevoegen','width=550,height=100')\">Nieuwe Fonts.</a></td>
</tr>
</table>
</p>";
echo $Menu;
}
// ---- Lijst met foto,s omschrijving n volgorde van de slideshow foto,s
function materiaal()
{
// Declareren van $exc_slideshow
echo '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" name="bestaande_paginas">
<table >
<thead>
<tr>
<th colspan="7">
Verwijderen en of toevoegen van lettertypes.
</th>
</tr>
</thead>
<tbody>';
// OPBOUW VAN HET SCHERM
echo '<tr class="kleurgegevens">
<td>Font</td>
<td>Verwijder</td>
</tr>';
// Openen
$dir= '../Fonts';
$current_dir = opendir($dir);
// Doorlopen
while($entryname = readdir($current_dir))
{
// Controlleren of het niet . of .. is
if($entryname != "." and $entryname!="..")
{
echo '
<tr colspan="7" style="height:10px; border:none; bgcolor="white">
</tr>
<tr class="slideshowgegevens">
<td>
'.$entryname.'
</td>
<td>
<input type="checkbox" name="'.$entryname.'_verwijder" value="1">
</td>
</tr>';
if($_POST['wijzig'])
{
if($_POST[''.$entryname.'_verwijder']== $_POST[''.$entryname.'_verwijder'] )
{
// Afbeelding verwijderen van de server
unlink('../../Fonts/'.$entryname);
//echo '../Fonts/'.$entryname;
}
}
}
}
// Sluiten
closedir($current_dir);
echo '<tr>
<td> <input type="submit" name="wijzig" value="Wijzig"></td>
</tr>
</form>';
}
// ---- Switchen van de schermen ---- //
switch($_GET['sub'])
{
case "new":
New_materiaal();
break;
case "edit";
New_materiaal();
break;
default:
Menu();
materiaal();
break;
}
// ---------------------------------- //
?>
include_once ('jscripts/tiny_mce/tiny_mce.php');
include_once ('jscripts/confirm/index.php');
// controleren of er ingelogd is en rechten zijn om de pagina te bekijken
if(@!CheckLogin())
{ echo "Er zijn niet genoeg rechten om deze pagina te bekijken.";
die();
}
require_once('CreateThumb.php');
//-----------------------------------------------------------------------
// Display errors ------------------------------------
ini_set('display_errors', 1);
error_reporting (E_ALL);
//---------------------------------------------------
// ---- Zetten van ongedeclareerde variabelen -----
if (!isSet($_GET['sub']))
{
$_GET['sub'] = "";
}
else
{
$_GET['sub'] = $_GET['sub'];
}
function Menu()
{
$Menu = "
<p>
<table>
<tr class='groen'>
<td><a href='".LinkURL('material', $row['id'])."' onClick=\"window.open('lettertype/toevoegen.php','Slideshow foto toevoegen','width=550,height=100')\">Nieuwe Fonts.</a></td>
</tr>
</table>
</p>";
echo $Menu;
}
// ---- Lijst met foto,s omschrijving n volgorde van de slideshow foto,s
function materiaal()
{
// Declareren van $exc_slideshow
echo '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" name="bestaande_paginas">
<table >
<thead>
<tr>
<th colspan="7">
Verwijderen en of toevoegen van lettertypes.
</th>
</tr>
</thead>
<tbody>';
// OPBOUW VAN HET SCHERM
echo '<tr class="kleurgegevens">
<td>Font</td>
<td>Verwijder</td>
</tr>';
// Openen
$dir= '../Fonts';
$current_dir = opendir($dir);
// Doorlopen
while($entryname = readdir($current_dir))
{
// Controlleren of het niet . of .. is
if($entryname != "." and $entryname!="..")
{
echo '
<tr colspan="7" style="height:10px; border:none; bgcolor="white">
</tr>
<tr class="slideshowgegevens">
<td>
'.$entryname.'
</td>
<td>
<input type="checkbox" name="'.$entryname.'_verwijder" value="1">
</td>
</tr>';
if($_POST['wijzig'])
{
if($_POST[''.$entryname.'_verwijder']== $_POST[''.$entryname.'_verwijder'] )
{
// Afbeelding verwijderen van de server
unlink('../../Fonts/'.$entryname);
//echo '../Fonts/'.$entryname;
}
}
}
}
// Sluiten
closedir($current_dir);
echo '<tr>
<td> <input type="submit" name="wijzig" value="Wijzig"></td>
</tr>
</form>';
}
// ---- Switchen van de schermen ---- //
switch($_GET['sub'])
{
case "new":
New_materiaal();
break;
case "edit";
New_materiaal();
break;
default:
Menu();
materiaal();
break;
}
// ---------------------------------- //
?>
hmm, vreemd
precies. Dit soort dingen zijn gekomen naar beveilligings lek op oude server door een domme collega die nu weg is. die had standaard pass en username gehouden dus hackers hadden spam verstuurd via zijn test webshop:S. Dus zit nu op eeb andere server en heb ik zulke dingen zoals dat ik maar 1 x ../ hoef te doen terwijl ik 2 mappen omlaag moeot....
$_GET['sub'] = $_GET['sub'];
Zie php.net want dit is niet de juiste manier.
while($entryname = readdir($current_dir))
Wat is het nut?
if($_POST[''.$entryname.'_verwijder']== $_POST[''.$entryname.'_verwijder'] )
Je leest in
$dir= '../Fonts';
En je wilt verwijderen in
unlink('../../Fonts/'.$entryname);
$_GET['sub'] = $_GET['sub']; is van andere bestand dus die heb ik weggehaald.
if($_POST[''.$entryname.'_verwijder']== $_POST[''.$entryname.'_verwijder'] )
Asl ik if($_POST[''.$entryname.'_verwijder']) doe dan doet hij het helemaal neit meer
dus mijn begeleider kwam met die andere "opplossing"
En hoezo is die while fout?
if($_POST[''.$entryname.'_verwijder']== $_POST[''.$entryname.'_verwijder'] )
Is hetzelfde als:
if('aap' == 'aap')
Oftewel altijd true.
Michael Rozenbeek op 24/03/2011 15:17:46:
En hoezo is die while fout?
Zie de info op php.net.
Code (php)
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
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
<?php
include_once ('jscripts/tiny_mce/tiny_mce.php');
include_once ('jscripts/confirm/index.php');
// controleren of er ingelogd is en rechten zijn om de pagina te bekijken
if(@!CheckLogin())
{ echo "Er zijn niet genoeg rechten om deze pagina te bekijken.";
die();
}
// Display errors ------------------------------------
ini_set('display_errors', 1);
error_reporting (E_ALL);
//---------------------------------------------------
$Menu = "
<p>
<table>
<tr class='groen'>
<td><a href='".LinkURL('material', $row['id'])."' onClick=\"window.open('lettertype/toevoegen.php','Slideshow foto toevoegen','width=550,height=100')\">Nieuwe Fonts.</a></td>
</tr>
</table>
</p>";
echo $Menu;
// ---- Lijst met foto,s omschrijving n volgorde van de slideshow foto,s
// Declareren van $exc_slideshow
echo '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" name="bestaande_paginas">
<table >
<thead>
<tr>
<th colspan="7">
Verwijderen en of toevoegen van lettertypes.
</th>
</tr>
</thead>
<tbody>';
// OPBOUW VAN HET SCHERM
echo '<tr class="kleurgegevens">
<td>Font</td>
<td>Verwijder</td>
</tr>';
// Openen
$dir= '../Fonts';
$current_dir = opendir($dir);
// Doorlopen
while (false !== ($file = readdir($current_dir)))
{
// Controlleren of het niet . of .. is
if($file != "." and $file!="..")
{
echo '
<tr colspan="7" style="height:10px; border:none; bgcolor="white">
</tr>
<tr class="slideshowgegevens">
<td>
'.$file.'
</td>
<td>
<input type="checkbox" name="'.$file.'verwijder" value="'.$file.'verwijder">
</td>
</tr>';
if($_POST[''.$file.'verwijder'])
{
// Afbeelding verwijderen van de server
//unlink('../../Fonts/'.$file);\
echo 'test';
}
}
}
// Sluiten
closedir($current_dir);
echo '<tr>
<td> <input type="submit" name="wijzig" value="Wijzig"></td>
</tr>
</form>';
?>
include_once ('jscripts/tiny_mce/tiny_mce.php');
include_once ('jscripts/confirm/index.php');
// controleren of er ingelogd is en rechten zijn om de pagina te bekijken
if(@!CheckLogin())
{ echo "Er zijn niet genoeg rechten om deze pagina te bekijken.";
die();
}
// Display errors ------------------------------------
ini_set('display_errors', 1);
error_reporting (E_ALL);
//---------------------------------------------------
$Menu = "
<p>
<table>
<tr class='groen'>
<td><a href='".LinkURL('material', $row['id'])."' onClick=\"window.open('lettertype/toevoegen.php','Slideshow foto toevoegen','width=550,height=100')\">Nieuwe Fonts.</a></td>
</tr>
</table>
</p>";
echo $Menu;
// ---- Lijst met foto,s omschrijving n volgorde van de slideshow foto,s
// Declareren van $exc_slideshow
echo '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" name="bestaande_paginas">
<table >
<thead>
<tr>
<th colspan="7">
Verwijderen en of toevoegen van lettertypes.
</th>
</tr>
</thead>
<tbody>';
// OPBOUW VAN HET SCHERM
echo '<tr class="kleurgegevens">
<td>Font</td>
<td>Verwijder</td>
</tr>';
// Openen
$dir= '../Fonts';
$current_dir = opendir($dir);
// Doorlopen
while (false !== ($file = readdir($current_dir)))
{
// Controlleren of het niet . of .. is
if($file != "." and $file!="..")
{
echo '
<tr colspan="7" style="height:10px; border:none; bgcolor="white">
</tr>
<tr class="slideshowgegevens">
<td>
'.$file.'
</td>
<td>
<input type="checkbox" name="'.$file.'verwijder" value="'.$file.'verwijder">
</td>
</tr>';
if($_POST[''.$file.'verwijder'])
{
// Afbeelding verwijderen van de server
//unlink('../../Fonts/'.$file);\
echo 'test';
}
}
}
// Sluiten
closedir($current_dir);
echo '<tr>
<td> <input type="submit" name="wijzig" value="Wijzig"></td>
</tr>
</form>';
?>
Dit is nu de code
Maar nog geen verbetering
en waarom heb je nu // voor de unlink gezet, dan klopt het wel dat er geen verbetering is,
echo't hij 'test' wel als je iets verwijdert?
Beveiligingslek op de server door onkundigheid? Is er daarna nog meer gerommeld met de server? Want dan kan ik mij goed indenken dat het ligt aan de gebruikersrechten / -permissies die verkeerd staan ingesteld op de server.
En die lek is al weg want we draaien op nieuew server. En die lek is op de nieuwe server niet meer. het was een gratis webshop van een niet ict collega die zonder te vragen dat erop kwakte en niks over zei.
ik kijk er morgen nog wel ff naar
ik moet nu naar huis.