test_sessionlock.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. // Special
  44. // We add header and output some content before the include of main.inc.php !!
  45. // Because we need to So we can make
  46. header("Content-type: text/html; charset=UTF8");
  47. // Security options
  48. 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)
  49. header("X-Frame-Options: SAMEORIGIN"); // Frames allowed only if on same domain (stop some XSS attacks)
  50. print "Legend:<br>\n";
  51. print 'PHP_SESSION_DISABLED='.PHP_SESSION_DISABLED."<br>\n";
  52. print 'PHP_SESSION_NONE='.PHP_SESSION_NONE."<br>\n";
  53. print 'PHP_SESSION_ACTIVE='.PHP_SESSION_ACTIVE."<br>\n";
  54. print '<br>';
  55. print 'session_status='.session_status().' (before main.inc.php)';
  56. print '<br>';
  57. require '../../main.inc.php';
  58. // Security
  59. if ($dolibarr_main_prod) {
  60. accessforbidden();
  61. }
  62. /*
  63. * View
  64. */
  65. print 'session_status='.session_status().' (after main.inc.php)';
  66. print '<br>';
  67. //print 'a'.$_SESSION['disablemodules'].'b';
  68. print "\n<br>This page is visible. It means you are not locked by another page called in same session.";
  69. //session_write_close();