1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-03 03:36:22 -07:00

show real IP of poster, display any and all warnings during build

This commit is contained in:
Joshua Merrell 2014-09-27 01:20:35 -07:00
parent 938e13caba
commit 4e267bbce0
5 changed files with 18 additions and 3 deletions

View file

@ -581,7 +581,8 @@ func makePost(w http.ResponseWriter, r *http.Request, data interface{}) {
http.SetCookie(writer, &http.Cookie{Name: "password", Value: request.FormValue("postpassword"), Path: "/", Domain: config.SiteDomain, RawExpires: getSpecificSQLDateTime(time.Now().Add(time.Duration(31536000))),MaxAge: 31536000})
//http.SetCookie(writer, &http.Cookie{Name: "password", Value: request.FormValue("postpassword"), Path: "/", Domain: config.Domain, RawExpires: getSpecificSQLDateTime(time.Now().Add(time.Duration(31536000))),MaxAge: 31536000})
post.IP = request.RemoteAddr
// post.IP = request.RemoteAddr
post.IP = getRealIP(&request)
post.Timestamp = time.Now()
post.PosterAuthority = getStaffRank()
post.Bumped = time.Now()
@ -710,7 +711,7 @@ func makePost(w http.ResponseWriter, r *http.Request, data interface{}) {
}
if len(isbanned) > 0 {
post.IP = request.RemoteAddr
wrapped := &Wrapper{IName: "bans",Data: isbanned}
var banpage_buffer bytes.Buffer

View file

@ -162,6 +162,20 @@ func initServer() {
}
}
func getRealIP(request *http.Request) (ip string) {
// HTTP_CF_CONNECTING_IP > X-Forwarded-For > RemoteAddr
if request.Header.Get("HTTP_CF_CONNECTING_IP") != "" {
ip = request.Header.Get("HTTP_CF_CONNECTING_IP")
} else {
if request.Header.Get("X-Forwarded-For") != "" {
ip = request.Header.Get("X-Forwarded-For")
} else {
ip = request.RemoteAddr
}
}
return
}
func validReferrer(request http.Request) (valid bool) {
if request.Referer() == "" || request.Referer()[7:len(config.SiteDomain)+7] != config.SiteDomain {
// if request.Referer() == "" || request.Referer()[7:len(config.Domain)+7] != config.Domain {

View file

@ -14,7 +14,7 @@ import (
"time"
"unsafe"
)
// #cgo LDFLAGS: -lcrypt
// #cgo LDFLAGS: -lcrypt -Wall
// #define _GNU_SOURCE
// #include <crypt.h>
// #include <stdlib.h>