dolibarr  16.0.5
test_exec.php
1 <?php
2 if (!defined('NOREQUIREUSER')) {
3  define('NOREQUIREUSER', '1');
4 }
5 if (!defined('NOREQUIREDB')) {
6  define('NOREQUIREDB', '1');
7 }
8 if (!defined('NOREQUIRESOC')) {
9  define('NOREQUIRESOC', '1');
10 }
11 if (!defined('NOREQUIRETRAN')) {
12  define('NOREQUIRETRAN', '1');
13 }
14 if (!defined('NOSTYLECHECK')) {
15  define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data
16 }
17 if (!defined('NOCSRFCHECK')) {
18  define('NOCSRFCHECK', '1'); // Do not check anti CSRF attack test
19 }
20 if (!defined('NOTOKENRENEWAL')) {
21  define('NOTOKENRENEWAL', '1'); // Do not check anti POST attack test
22 }
23 if (!defined('NOREQUIREMENU')) {
24  define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu
25 }
26 if (!defined('NOREQUIREHTML')) {
27  define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php
28 }
29 if (!defined('NOREQUIREAJAX')) {
30  define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library
31 }
32 if (!defined("NOLOGIN")) {
33  define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
34 }
35 // If you don't need session management (can't be logged if no session used). You must also set
36 // NOCSRFCHECK, NOTOKENRENEWAL, NOLOGIN
37 // Disable module with GETPOST('disablemodules') won't work. Variable 'dol_...' will not be set.
38 // $_SESSION are then simple vars if sessions are not active.
39 // TODO We can close session with session_write_close() as soon as we just need read access everywhere in code.
40 if (!defined("NOSESSION")) {
41  define("NOSESSION", '1');
42 }
43 
44 require '../../main.inc.php';
45 
46 // Security
47 if ($dolibarr_main_prod) {
48  accessforbidden('Access forbidden when $dolibarr_main_prod is set to 1');
49 }
50 
51 
52 /*
53  * View
54  */
55 
56 header("Content-type: text/html; charset=UTF8");
57 
58 // Security options
59 header("X-Content-Type-Options: nosniff"); // With the nosniff option, if the server says the content is text/html, the browser will render it as text/html (note that most browsers now force this option to on)
60 header("X-Frame-Options: SAMEORIGIN"); // Frames allowed only if on same domain (stop some XSS attacks)
61 
62 print "*** TEST READ OF /tmp/test.txt FILE<br>\n";
63 
64 $out='';
65 $ret=0;
66 
67 $file = '/tmp/test.txt';
68 $f=fopen($file, 'r');
69 if ($f) {
70  $s=fread($f, 4096);
71  print $s;
72  fclose($f);
73 } else {
74  print "Failed to open file ".$file."<br>\n";
75 }
76 
77 print '<br><br>'."\n";
78 
79 
80 print "*** TEST READ OF /test.txt FILE AND LS /dev/std*<br>\n";
81 
82 exec('cat /test.txt; ls /dev/std*; sleep 1;', $out, $ret);
83 print "ret=".$ret."<br>\n";
84 print_r($out);
85 print '<br>';
86 
87 print '<br><br>'."\n";
88 
89 
90 print "*** TRY TO RUN CLAMDSCAN<br>\n";
91 
92 $ret = 0;
93 $out = null;
94 exec('/usr/bin/clamdscan --fdpass filethatdoesnotexists.php', $out, $ret);
95 print "ret=".$ret."<br>\n";
96 print_r($out);
accessforbidden
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
Definition: security.lib.php:933