Aangezien ik nog geen ervaring heb met het bijhouden van gebruikers informatie, kom ik jullie vragen of ik goed bezig ben. Het script is bijna af, moet nog alleen de database-link opzetten.
Eerst wil ik echter weten of dit script niet voor problemen kan zorgen. Een gewaarschuwd man telt voor 2.
ziehier dus het script, en onderaan zie je dus hoe ik de database wil gaan opdelen
PS: Ik heb het geschreven met oog voor leesbaarheid, sommige dingen kan je oplossen met geneste if, maar dan vind ik het moeilijker worden
Een print_r laat me dit zien:
BTW, ik vraag me ook af of een login script veiliger word, als ik gebruk maak van
echo "<input name=\"$rand\"><input name=\"$rand2\">" ipv
<input name="naam"><input paswoord="">
Eerst wil ik echter weten of dit script niet voor problemen kan zorgen. Een gewaarschuwd man telt voor 2.
ziehier dus het script, en onderaan zie je dus hoe ik de database wil gaan opdelen
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
| <?php session_start(); ################################################################### // SESSION TIMEOUT || LOGOUT || RENEW SESSION_ID if( isset($_GET['logout']) ) { //DATABASE CLEAR user_data (NULL) unset($_SESSION['SESSION_ID']); } if ( isset($_SESSION['user_data']['timeout']) ) { if( gmdate('U')-$_SESSION['user_data']['timeout'] > 60*60*9 ) unset($_SESSION['SESSION_ID']); } if( !isset($_SESSION['SESSION_ID']) ) { setcookie(session_name(), '', time()-42000, '/'); session_unset(); session_destroy(); session_start(); session_regenerate_id(); } $_SESSION['SESSION_ID'] = session_id(); $_SESSION['user_data']['timeout'] = gmdate('U'); ################################################################### // USER INFO(BROWSER_INFO) if ( !isset( $_SESSION['user_info']['connection_on'] ) ) $_SESSION['user_info']['connection_on'] = gmdate('Y-m-d H:i:s'); $_SESSION['user_info']['connection_off'] = gmdate('Y-m-d H:i:s'); @$_SESSION['user_info']['ip'] = $_SERVER['REMOTE_ADDR']; @$_SESSION['user_info']['host'] = gethostbyaddr($_SERVER['REMOTE_ADDR']); //@$_SESSION['user_info']['isp_string'] = $_SERVER['REMOTE_ADDR']; //@$_SESSION['user_info']['isp_location'] = $_SERVER['REMOTE_ADDR']; @$_SESSION['user_info']['lang'] = $_SERVER['HTTP_ACCEPT_LANGUAGE']; @$_SESSION['user_info']['referer'] = $_SERVER['HTTP_REFERER']; @$_SESSION['user_info']['user_agent'] = $_SERVER['HTTP_USER_AGENT']; //@$_SESSION['user_info']['browser_name'] = $GLOBALS["nav"]; @$_SESSION['user_info']['browser_name'] = browser_detection( 'browser' ); @$_SESSION['user_info']['browser_ver'] = $GLOBALS["ver"]; @$_SESSION['user_info']['platform_name'] = browser_detection( 'os' ); @$_SESSION['user_info']['platform_ver'] = browser_detection( 'os_number' ); ################################################################### // RANDOM VARS $_SESSION['random']['rand_str_0'] = rand_string(9); $_SESSION['random']['rand_str_1'] = rand_string(9); $_SESSION['random']['rand_str_2'] = rand_string(9); $_SESSION['random']['rand_str_3'] = rand_string(9); $_SESSION['random']['rand_str_4'] = rand_string(9); $_SESSION['random']['rand_str_5'] = rand_string(9); ################################################################### //REGENERATE OLD VISITOR(USER_SESSION_REGENERATE) ( NOT USING IP -> PULIC/DYNAMIC IP ) if ( !isset($_SESSION['user_data']['user_id']) && isset($_COOKIE['user_id']) ) { $_SESSION['user_data']['user_id'] = $_COOKIE['user_id']; //DATABASE: function $_SESSION['user_data']['user_name'] = "unknown"; $_SESSION['user_data']['user_rights'] = 'guest'; $_SESSION['user_data']['pageviews'] = 0; } ################################################################### //REGISTER NEW VISITOR(USER_SESSION_CREATE_NEW) if( !isset($_SESSION['user_data']['user_id'])) $_SESSION['user_data']['user_id'] = gmdate('Ymd') . '-' . rand(); // ID FROM TABLE ** if( !isset($_SESSION['user_data']['user_name'])) $_SESSION['user_data']['user_name'] = "unknown"; if( !isset($_SESSION['user_data']['user_rights'])) $_SESSION['user_data']['user_rights'] = 'guest'; ################################################################### //REGISTER PAGEVIEWS if (!isset($_SESSION['user_data']['pageviews'])) $_SESSION['user_data']['pageviews'] = 1; else $_SESSION['user_data']['pageviews']++; //DATABASE CREATE || UPDATE + increase visits ################################################################### //DATABASE && COOKIE /* user_data [id][user_id][user_name][user_password][user_rights] user_adress [id][name][firstname][street][number][street][postcode][town] user_info [id][connection_on][connection_off][ip][[[user_agent][referer][pageviews] statistics [user_agent][count] */ setcookie('user_id', $_SESSION['user_data']['user_id'] , mktime(0,0,0,1,1,date('Y')+1)); ################################################################### ?> |
PS: Ik heb het geschreven met oog voor leesbaarheid, sommige dingen kan je oplossen met geneste if, maar dan vind ik het moeilijker worden
Een print_r laat me dit zien:
code:
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
| _COOKIE Array
(
[user_id] => 20070914-29160
[PHPSESSID] => 7nkdr92a0qqfni2n24ojqan303
)
1
_SESSION Array
(
[SESSION_ID] => 7nkdr92a0qqfni2n24ojqan303
[user_data] => Array
(
[timeout] => 1189778407
[user_id] => 20070914-29160
[user_name] => unknown
[user_rights] => guest
[pageviews] => 2
)
[user_info] => Array
(
[connection_on] => 2007-09-14 14:00:04
[connection_off] => 2007-09-14 14:00:07
[ip] => 127.0.0.1
[host] => localhost
[lang] => nl_BE,nl;q=0.9,en;q=0.8
[referer] =>
[user_agent] => Opera/9.00 (Windows NT 5.1; U; nl)
[browser_name] => op
[browser_ver] => 9.00
[platform_name] => nt
[platform_ver] => 5.1
)
[random] => Array
(
[rand_str_0] => KAD713UK7
[rand_str_1] => XM69MQNXI
[rand_str_2] => M2EH90FT4
[rand_str_3] => L8E5EILUJ
[rand_str_4] => H66KVKKMX
[rand_str_5] => J19BH1LA8
)
)
1 |
BTW, ik vraag me ook af of een login script veiliger word, als ik gebruk maak van
echo "<input name=\"$rand\"><input name=\"$rand2\">" ipv
<input name="naam"><input paswoord="">