Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Υπάρχει το εξής πρόβλημα στο PHP script ενός server γνωστού μου.

Για κάποιο λόγο, η πληροφορία που στέλνεται μέσω της $_POST (ένας array), είναι περικομμένος.

 

Τρέχοντας τον κώδικα:

 

print_r($vbulletin->GPC['sub']);
exit;
(μην σας τρομάζει, είναι στην πραγματικότητα το $_POST['sub'], απλά μιλάμε για τον διαχειριστή της μηχανής vBulletin.

Πέρνουμε τα εξής αποτελέσματα:

Αν δείτε στο τέλος, ο πίνακας είναι σωστά κλεισμένος, όμως λείπουν πληροφορίες και δεν μπορούμε να προσθέσουμε πάνω από 27-28 στοιχεία!

[active] => 1
[displayorder] => 99
[nusergroupid] => -1
[time] => Array (
    [0] => Array (
        [cost] => Array (
            [usd] => 5.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [1] => Array (
        [cost] => Array (
            [usd] => 10.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [2] => Array (
        [cost] => Array (
            [usd] => 15.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [3] => Array (
        [cost] => Array (
            [usd] => 20.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [4] => Array (
        [cost] => Array (
            [usd] => 25.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [5] => Array (
        [cost] => Array (
            [usd] => 30.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [6] => Array (
        [cost] => Array (
            [usd] => 35.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [7] => Array (
        [cost] => Array (
            [usd] => 40.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [8] => Array (
        [cost] => Array (
            [usd] => 45.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [9] => Array (
        [cost] => Array (
            [usd] => 50.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [10] => Array (
        [cost] => Array (
            [usd] => 55.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [11] => Array (
        [cost] => Array (
            [usd] => 60.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [12] => Array (
        [cost] => Array (
            [usd] => 65.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [13] => Array (
        [cost] => Array (
            [usd] => 70.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [14] => Array (
        [cost] => Array (
            [usd] => 75.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [15] => Array (
        [cost] => Array (
            [usd] => 80.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [16] => Array (
        [cost] => Array (
            [usd] => 85.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [17] => Array (
        [cost] => Array (
            [usd] => 90.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [18] => Array (
        [cost] => Array (
            [usd] => 95.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [19] => Array (
        [cost] => Array (
            [usd] => 100.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 1
        [units] => M
        [recurring] => 1
        [ccbillsubid] => 
        )
    [20] => Array (
        [cost] => Array (
            [usd] => 120.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [21] => Array (
        [cost] => Array (
            [usd] => 150.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [22] => Array (
        [cost] => Array (
            [usd] => 180.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [23] => Array (
        [cost] => Array (
            [usd] => 210.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [24] => Array (
        [cost] => Array (
            [usd] => 240.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [25] => Array (
        [cost] => Array (
            [usd] => 270.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [26] => Array (
        [cost] => Array (
            [usd] => 300.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [27] => Array (
        [cost] => Array (
            [usd] => 330.00
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 3
        [units] => M
        [ccbillsubid] => 
        )
    [28] => Array (
        [cost] => Array (
            [usd] => 360
            [gbp] => 0.00
            [eur] => 0.00
            [aud] => 0.00
            [cad] => 0.00
            )
        [length] => 4
        )
    )  
Τι μπορεί να φταίει;

Μας έχουν πει για mod_security rule, δεν είναι. Επίσης κάτι για 32bit kernel, ούτε αυτό πρέπει να είναι αφού στον ίδιο server, σε άλλη εγκατάσταση vbulletin, μπορούμε να προσθέσουμε χωρίς πρόβλημα τα ίδια δεδομένα και παραπάνω. :fear:

  • Like 1
Δημοσ.

Νομιζω ότι μας δίνεις λίγες πληροφορίες. Φίλος δώσε και λίγη html . Αλλά από την άλλη λες ότι στον ίδιο εξυπηρετητή τρέχει σε άλλο λογαριασμό. Κοίτα τις διαφορές στην html

Δημοσ.

Τελικά το max_input_vars ήταν!! Ευχαριστώ :)

 

Η πλάκα είναι ότι σε προσπάθειές μου να αναπαράγω το πρόβλημα στο localhost μου (WAMP), βάζοντας χαμηλότατες τιμές στα διάφορα limits του php.ini, το σύστημα και πάλι λειτουργούσε κανονικά με εξαίρεση μια φορά που δεν μπορούσε ούτε τα login στοιχεία να στείλει.

 

anyway, thanks again ;)

  • 1 χρόνο αργότερα...
Δημοσ.

Παιδιά, το πρόβλημα επέστρεψε. Βάλαμε το max_input_vars ακόμα και στο 10000, αλλά χωρίς αποτέλεσμα διόρθωσης.

 

Βέβαια μιλάμε για μια μηχανή vBulletin που η εν λόγω φόρμα ενσωματώνει όλα τα forums της (και μιλάμε για 1000+ forums), οπότε κάτι παίζει με τα όρια της PHP μάλλον.

 

Η ερώτησή μου: είναι εφικτό να βάλω ένα print του πόσα input vars προσπαθεί να στείλει η φόρμα/ το script, ώστε να βεβαιωθούμε ότι είναι θέμα του max_input_vars;

Διάβασα ότι αυτό το όριο της PHP αφορά τους $_GET, $_POST και $_COOKIE.

 

Οπότε πως μπορώ να εκτυπώσω τον integer των variables τους; Έστω για να δούμε μέχρι που φτάνει αυτό που προσπαθεί να στείλει η φόρμα...

Ίσως με μια πρόσθεση sizeof() και των τριών super globals;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...