Elxis CMS Forum
Ελληνικό Forum => Εγκατάσταση => Topic started by: adouda on April 27, 2015, 13:22:40
-
Εχω τα Windows Server 2012 R2 Essentiasl
Εγκατέστησα το elxis
Εδωσα τους κωδικους ασφαλειας και στην πρωτη οθονη μετα την ολοκλήρωση της εγκατάστασης μου εβγαλε το μηνυμα :
Security alert
Request dropped!
I think you are a bad boy.
Reference code: SEC-DEFB-0002
Sorry for the inconvenience.
Τι εχει συμβεί ;
-
Ο Defender δεν μπορεί να ανιχνεύσει την IP σου, συνεπώς αυτή είναι κενή, αυτό δεν αρέσει στον defender και σε κάνει ban.
Η μη ανίχνευση της IP οφείλεται στον windows server σου (κατά την άποψή μου τα windows είναι άθλια για λειτουργικό server).
Θα πρέπει ο server να επιστρέφει τουλάχιστον ένα από αυτά: HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR.
Κάνε την εξής δοκιμή και πες μου τα αποτελέσματα.
Φτιάξε ένα νέο αρχείο με όνομα test.php
Άνοιξε το με το notepad ή άλλον text editor και γράψε μέσα:
<?php
header('content-type:text/plain; charset=utf-8');
print_r($_SERVER);
?>
Αποθήκευσέ το, ανέβασέ το στο site σου και τρέξτο με τον browser (πχ http://www.example.com/test.php)
Από όλα όσα θα σου γράψει κάπου θα έχει διευθύνσεις ip, επικόλησέ μου εδώ αυτές τις γραμμές.
Παράδειγμα:
[REMOTE_ADDR] => 127.0.0.1
-
Αυτό είναι το αποτέλεσμα της καταγραφής
Array
(
[PROCESSOR_ARCHITEW6432] => AMD64
[_FCGI_X_PIPE_] => \\.\pipe\IISFCGI-8e646be7-50da-4f3f-b27f-270578de3490
[PHP_FCGI_MAX_REQUESTS] => 10000
[PHPRC] => C:\Program Files (x86)\PHP\v5.4
[ALLUSERSPROFILE] => C:\ProgramData
[APPDATA] => C:\Windows\system32\config\systemprofile\AppData\Roaming
[APP_POOL_CONFIG] => C:\inetpub\temp\apppools\RootApp\RootApp.config
[APP_POOL_ID] => RootApp
[CommonProgramFiles] => C:\Program Files (x86)\Common Files
[CommonProgramFiles(x86)] => C:\Program Files (x86)\Common Files
[CommonProgramW6432] => C:\Program Files\Common Files
[COMPUTERNAME] => WWW
[ComSpec] => C:\Windows\system32\cmd.exe
[FP_NO_HOST_CHECK] => NO
[LOCALAPPDATA] => C:\Windows\system32\config\systemprofile\AppData\Local
[NUMBER_OF_PROCESSORS] => 4
[OS] => Windows_NT
[Path] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\PHP\v5.4;C:\Windows\system32\inetsrv
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
[PROCESSOR_ARCHITECTURE] => x86
[PROCESSOR_IDENTIFIER] => Intel64 Family 6 Model 15 Stepping 11, GenuineIntel
[PROCESSOR_LEVEL] => 6
[PROCESSOR_REVISION] => 0f0b
[ProgramData] => C:\ProgramData
[ProgramFiles] => C:\Program Files (x86)
[ProgramFiles(x86)] => C:\Program Files (x86)
[ProgramW6432] => C:\Program Files
[PSModulePath] => C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
[PUBLIC] => C:\Users\Public
[SystemDrive] => C:
[SystemRoot] => C:\Windows
[TEMP] => C:\Windows\TEMP
[TMP] => C:\Windows\TEMP
[USERDOMAIN] => xxxxxxxxxx
[USERNAME] => WWW$
[USERPROFILE] => C:\Windows\system32\config\systemprofile
[WebAddIns] => C:\Program Files\Windows Server\Bin\WebApps\RemoteAccess\Addins
[windir] => C:\Windows
[ORIG_PATH_INFO] => /test.php
[URL] => /test.php
[SERVER_SOFTWARE] => Microsoft-IIS/8.5
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_PORT_SECURE] => 0
[SERVER_PORT] => 80
[SERVER_NAME] => www.xxxxxxxxxx.gr
[SCRIPT_NAME] => /test.php
[SCRIPT_FILENAME] => C:\Program Files\Windows Server\Bin\webapps\site\test.php
[REQUEST_URI] => /test.php
[REQUEST_METHOD] => GET
[REMOTE_USER] =>
[REMOTE_PORT] => 57846
[REMOTE_HOST] => fe80::4db0:8e68:c6ca:b188%12
[REMOTE_ADDR] => fe80::4db0:8e68:c6ca:b188%12
[QUERY_STRING] =>
[PATH_TRANSLATED] => C:\Program Files\Windows Server\Bin\webapps\site\test.php
[LOGON_USER] =>
[LOCAL_ADDR] => fe80::4db0:8e68:c6ca:b188%12
[INSTANCE_META_PATH] => /LM/W3SVC/1
[INSTANCE_NAME] => DEFAULT WEB SITE
[INSTANCE_ID] => 1
[HTTPS_SERVER_SUBJECT] =>
[HTTPS_SERVER_ISSUER] =>
[HTTPS_SECRETKEYSIZE] =>
[HTTPS_KEYSIZE] =>
[HTTPS] => off
[GATEWAY_INTERFACE] => CGI/1.1
[DOCUMENT_ROOT] => C:\Program Files\Windows Server\Bin\webapps\site
[CONTENT_TYPE] =>
[CONTENT_LENGTH] => 0
[CERT_SUBJECT] =>
[CERT_SERIALNUMBER] =>
[CERT_ISSUER] =>
[CERT_FLAGS] =>
[CERT_COOKIE] =>
[AUTH_USER] =>
[AUTH_PASSWORD] =>
[AUTH_TYPE] =>
[APPL_PHYSICAL_PATH] => C:\Program Files\Windows Server\Bin\webapps\site\
[APPL_MD_PATH] => /LM/W3SVC/1/ROOT
[IIS_UrlRewriteModule] => 7.1.0871.0
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
[HTTP_HOST] => www.xxxxxxxxxxxx.gr
[HTTP_ACCEPT_LANGUAGE] => el-GR,el;q=0.8,en-US;q=0.5,en;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_CONNECTION] => keep-alive
[FCGI_ROLE] => RESPONDER
[PHP_SELF] => /test.php
[REQUEST_TIME_FLOAT] => 1430235202.6088
[REQUEST_TIME] => 1430235202
-
Το πρόβλημα είναι ότι συνδέεσε με IP v6 (πως κι έτσι;) η οποία όμως είναι άκυρη.
[REMOTE_ADDR] => fe80::4db0:8e68:c6ca:b188%12
Θα σου απαντήσω σε λίγο τι να κάνεις. Σημείωσε πάντως πως η χρήση IP V6 είναι πολύ περιορισμένη ακόμα.
-
Η ip που μου έδειξες (fe80::4db0:8e68:c6ca:b188%12) είναι άκυρη IP V6 γιατί έχει στο τέλος ένα %12. Η σωστή/έγκυρη ip είναι αυτή: fe80::4db0:8e68:c6ca:b188. Το γιατί προστίθεται το %12 στο τέλος ψάξτο στο server σου, ίσως φταίει η έκδοση php για windows που χρησιμοποιείς ή ο web server.
Αν ο server σου σου προσθέτει το %12 (μη εκτυπώσιμο device character) σε κάθε ip κάνε την παρακάτω αλλαγή για να το διορθώσεις.
Άνοιξε το αρχείο includes/libraries/elxis/defender.class.php
Βρες την γραμμή 80:
$this->address = $this->getIP();
και πρόσθεσε από κάτω αυτό:
$this->address = preg_replace('@(%12)$@', '', $this->address);
Συμπέρασμα: Ο Defender σωστά σε μπλοκάρει γιατί ο server διαβάζει λάθος την ip σου.
-
Η περιπετεια συνεχιζεται
το προηγουμενο λαθος το διορθωσα αλλα εμανιστηκε αμεσως μετα ενα νεο μηνυμα λαθους
Fatal error
Unrecoverable error!
Could not save session! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'ip_address' cannot be null
Reference code: SEC-ELXIS-0003
Sorry for the inconvenience.
-
Πρέπει να κάνεις και αλλού αλλαγές αν και όπως έγραψα ήδη το σωστό είναι να φτιάξεις την εγκατάστασή σου γιατί το πρόβλημα είναι στο server σου, όχι στο Elxis.
Άνοιξε αυτό το αρχείο:
includes/libraries/elxis/helpers/ip.helper.php
Πήγαινε στη γραμμή 42:
} elseif (isset($_SERVER['REMOTE_ADDR']) && ($_SERVER['REMOTE_ADDR'] != '')) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
return null;
}
και πρόσθεσε από κάτω:
$ip = preg_replace('@(%12)$@', '', $ip);
Μετά από αυτή την αλλαγή θα είσαι ΟΚ όσον αφορά τον πυρήνα του Elxis. Ίσως έχεις πρόβλημα μόνο σε κάποια third party επέκταση που χρησιμοποιεί διευθύνσεις ip.
-
το προηγουμενο μηνυμα το ξεπερασε
αλλα εβγαλε νεο μηνυμα σφαλματος
Fatal error
Unrecoverable error!
Could not save session! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'ip_address' cannot be null
Reference code: SEC-ELXIS-0003
Sorry for the inconvenience.
αυτο ειναι το αποτελεσμα ειναι στον server, αλλ σε client υπολογιστη απο το σπιτι μου, εμφανιζει μονο την βασικη σελίδα του διαχειριστή και την σελίδα με τα Famous Places και ολες οι αλλες σελιδες ειναι σαν να μην υπαρχουν στον server