س 01 جولای 2025 ساعت 06:09

نکات امنیتی در کدهای وردپرس

 

۱. Sanitization (پاکسازی داده‌ها)

$safe_input = sanitize_text_field( $_POST[‘user_input’] );

۲. Validation (اعتبارسنجی داده‌ها)

if ( is_email( $email ) ) {
// valid email
}

۳. Escaping (خروجی‌گیری ایمن)

echo esc_html( $user_input );
echo esc_url( $url );
echo esc_attr( $attribute );

۴. Nonces (برای اعتبارسنجی درخواست‌ها)

wp_nonce_field( ‘my_action’, ‘my_nonce’ );
if ( ! isset( $_POST[‘my_nonce’] ) || ! wp_verify_nonce( $_POST[‘my_nonce’], ‘my_action’ ) ) {
wp_die( ‘Security check failed!’ );
}

۵. Capabilities & Capabilities Check

if ( current_user_can( ‘manage_options’ ) ) {
// user has permission
}

۶. SQL Injection Protection

استفاده از $wpdb به صورت صحیح:

$wpdb->get_results( $wpdb->prepare( “SELECT * FROM table WHERE id = %d”, $id ) );

۷. XSS Protection

استفاده از توابع esc_* در خروجی‌ها:

echo ‘<a href=“‘ . esc_url( $link ) . ‘”>’ . esc_html( $title ) . ‘</a>’;

۸. CSRF Protection

استفاده از Nonce در فرم‌ها و اکشن‌ها:

wp_nonce_url( admin_url( ‘admin-post.php?action=my_action’ ), ‘my_action’ );