Astra theme απενεργοποίηση στο author link


Astra theme: Το τελευταίο διάστημα ίσως παρατηρήσατε αλλαγές στην σελίδα του iGuRu.gr. Ναι σωστά, γιατί αλλάξαμε theme. Χρησιμοποιούσαμε το Genesis με ένα Custom child, ενώ τώρα χρησιμοποιούμε το Astra, με ένα custom child επίσης.

Επιλέξαμε το Astra theme γιατί είναι ελαφρύ, γρήγορο με πολλές επιλογές παραμετροποίησης, αλλά και γιατί είναι SEO friendly. Όσον αφορά την παραμετροποίηση, εμείς του αλλάξαμε τα φώτα, με πρόσθετο κώδικα php και css για να το φέρουμε λίγο πολύ στην εμφάνιση του παλαιού Genesis theme.

banner01 - Astra theme απενεργοποίηση στο author link

Μια από τις αλλαγές που πραγματοποιήσαμε στο Astra αμέσως μόλις το δοκιμάσαμε για πρώτη φορά ήταν και το unlink του χρήστη από τις δημοσιεύσεις, καθώς θεωρούμε ότι είναι ένα επιπλέον ρίσκο στην ασφάλεια.

Τι εννοώ:

Σχεδόν όλα τα WordPress themes διαθέτουν ένα link συνδεδεμένο με το όνομα του αρθρογράφου κάθε δημοσίευσης. Το link αυτό οδηγεί σε μια σελίδα με όλες τις δημοσιεύσεις του αρθρογράφου. Όμως εμφανίζει δημόσια το login name.

για παράδειγμα

https://iguru.gr/author/to_onoma_syndesis/

2020 04 15 13 03 31 - Astra theme απενεργοποίηση στο author link

Γιατί είναι ρίσκο; Όλες οι WordPress ιστοσελίδες διαθέτουν μια προεπιλεγμένη σελίδα σύνδεσης, που αν την γνωρίζεις μπορείς εύκολα να πραγματοποιήσεις επιθέσεις brute force. Το συγκεκριμένο link κάνει τα πράγματα πιο εύκολα για τον hacker καθώς του δίνει στο πιάτο το login name του αρθρογράφου. Έτσι θα πρέπει να ψάξει μόνο για τον κωδικό πρόσβασης.

Έτσι επειδή έχουμε σαν αρχή να κάνουμε τα πράγματα λίγο πιο δύσκολα για κάθε επίδοξο hacker σε όλα μας τα themes απενεργοποιούμε το συγκεκριμένο link.

Ας δούμε πως γίνεται στο Astra.

Προσθέστε τον παρακάτω κώδικα στο functions.php του child που χρησιμοποιείτε:

add_filter('astra_post_author_output' , 'call_back');
function call_back(){
    $author_info_array =    sprintf(
        '<div class="ast-single-author-box" %2$s itemscope itemtype="https://schema.org/Person">%1$s</div>',
        sprintf(
            '<div class="ast-author-meta"> <div class="about-author-title-wrapper"> <h3 class="about-author">%1$s</h3> </div> <div class="ast-author-details"> <div class="post-author-avatar">%2$s</div> <div class="post-author-bio"> <a class="url fn n" %6$s rel="author"> <h4 class="author-title" %7$s>%4$s</h4> </a> <div class="post-author-desc">%5$s</div> </div> </div> </div>',
            esc_html__( 'About The Author', 'astra-addon' ),
            get_avatar( get_the_author_meta( 'email' ), 100 ),
            ' ',
            esc_html( get_the_author() ),
            wp_kses_post( get_the_author_meta( 'description' ) ),
            astra_attr(
                'author-url-info',
                array(
                    'class' => '',
                )
            ),
            astra_attr(
                'author-name-info',
                array(
                    'class' => '',
                )
            )
        ),
        astra_attr(
            'author-item-info',
            array(
                'class' => '',
            )
        ),
        astra_attr(
            'author-desc-info',
            array(
                'class' => '',
            )
        )
            );
    return $author_info_array;      
}
add_filter('astra_post_author' , 'author_call_back', 15 );
function author_call_back(){
    ob_start();
    echo '<span ';
        echo astra_attr(
            'post-meta-author',
            array(
                'class' => 'posted-by vcard author',
            )
        );
    echo '>';
        // Translators: Author Name. ?>
        <a title="<?php printf( esc_attr__( 'View all posts by %1$s', 'astra' ), get_the_author() ); ?>" 
             rel="author"
            <?php
                echo astra_attr(
                    'author-url',
                    array(
                        'class' => 'url fn n',
                    )
                );
            ?>
            >
            <span
            <?php
                echo astra_attr(
                    'author-name',
                    array(
                        'class' => 'author-name',
                    )
                );
            ?>
            ><?php echo get_the_author(); ?></span>
        </a>
    </span>
    <?php
    $custom_output = ob_get_clean();
    return  $custom_output;
}

Λήψη νέων αναρτήσεων μέσω email:

Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News

Αφήστε μια απάντηση

Your email address will not be published.