我想生成PDF。我正在使用 FPDF 生成 pdf 文件。我生成包含内容文本和图像的 pdf。现在我想将图像作为背景图像。所以场景是文本位于图像之上。我尝试了很多解决方案,但任何解决方案都适合我。我使用下面的代码生成了 PDF。
$pdf = new FPDF();
$title = 'Without User Details';
$img_title = 'Your Voucher Image is-: ';
$php2pdf = '';
$php2pdf .= 'Your Voucher Code is-: ';
$php2pdf .= $voucher_prefix;
$php2pdf .= get_post_meta($post->ID, 'voucher_start_digit', true);
if (has_post_thumbnail( $post->ID ) ):
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
$image_url = $image[0];
endif;
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->SetTitle($title);
$pdf->MultiCell($w, $h, $title);
$pdf->Ln(3);
$pdf->Cell(90,90,$php2pdf);
$pdf->Ln(20);
$pdf->MultiCell(40, 10, $img_title);
$pdf->Image($image_url,30,60,90,0); ob_start();
$pdf->Output();
ob_end_flush();
Run Code Online (Sandbox Code Playgroud) 在我的 react fetch 方法中,我使用用户名和密码调用了基本身份验证 API,如下所示:
const username = '*******n';
const password = '***********lhW87A3mds';
componentDidMount () {
let headers = new Headers();
headers.set('Authorization', 'Basic ' + base64.encode(username + ":" + password));
let that = this;
fetch(api.example.com , {
method: "GET",
headers: {
"Content-Type": "application/json"
},
credentials: "same-origin" })
.then(function(response) { return response.json(); })
.then(function(jsonData) {
return JSON.stringify(jsonData);
})
});
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,我也在获取数据。但我的问题是就安全问题而言,我如何保护这一点username并password防止黑客入侵;因为在客户端,这个用户名和密码对最终用户是完全可见的。查看客户端 JS 数据的下图。
我从我在 UsersController 中的 forgot_password 方法在 CakePHP 中收到这个错误。
public function forgot_password() {
$this->layout = 'signin';
if (!empty($this->data)) {
$user = $this->User->findByUsername($this->data['User']['username']);
if (empty($user)) {
$this->Session->setflash('Sorry, the username entered was not found.');
$this->redirect('/users/forgot_password');
}else{
$user = $this->__generatePasswordToken($user);
if ($this->User->save($user) && $this->__sendForgotPasswordEmail($user['User']['id'])) {
$this->Session->setflash('Password reset instructions have been sent to your email address.
You have 24 hours to complete the request.');
$this->redirect('/users/login');
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是 forgot_password.ctp 文件
<header class="panel-heading text-center">
<strong>Forget Password</strong>
</header>
<h3>Enter Your Username</h3>
<?php
echo $this->Form->create('User', array('action' => …Run Code Online (Sandbox Code Playgroud) 在我的WordPress REST API项目中,我需要通过API获取登录的用户数据。我使用JWT Authentication for WP REST API插件来生成令牌。我已经使用用户的用户名和密码参数生成了令牌。
现在,我使用这些令牌在 API 文件中创建了一个函数,但它0在 Postman 中以 API 响应的形式向我发送了以下标头。
'Content-type': 'application/json',
'Authorization': 'Bearer token_value'
Run Code Online (Sandbox Code Playgroud)
功能代码:
function get_loggedin_user_info(){
global $current_user;
$current_user = wp_get_current_user();
print_r($current_user);
}
add_action( 'rest_api_init', function () {
register_rest_route( 'endpoints/v1', '/logininfo', array(
'methods' => 'POST',
'callback' => 'get_loggedin_user_info'
));
});
Run Code Online (Sandbox Code Playgroud)
那么如何使用 WordPress hook 获取登录用户的数据wp_get_current_user()
其次,如何使jwt-auth/v1/tokenAPI 能够动态获取用户名和密码?
PS 我已在 htacceess 文件中添加了 RewriteCond 和 RewriteRule,并且还在我的配置文件中包含了 JWT Auth 密钥。
define('JWT_AUTH_SECRET_KEY', 'secret-key');
define('JWT_AUTH_CORS_ENABLE', true);
Run Code Online (Sandbox Code Playgroud) 我需要你的帮助 !
我正在为我的公司做一个项目,我应该创建一个可以与 React 重复的选择字段。所以,当我想保存我的选择时,我遇到了一个小问题,如果我刷新页面,默认选项仍然相同(而不是选定的选项)。有我的 select.js 代码:
import React, { Component, PropTypes } from 'react';
class Select extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChange = this.handleChange.bind(this);
}
handleChange(data) {
this.setState({value:data.value});
}
render() {
return (
<label>
<select className="widefat" name={this.props.name} onChange={this.handleChange}>
<option value="grapefruit">Grapefruit</option>
<option value="lime">Lime</option>
<option value="coconut">Coconut</option>
<option value="mango">Mango</option>
</select>
</label>
);
}
}
export default Select;
Run Code Online (Sandbox Code Playgroud)
我更改了默认值:
我认为这是因为在 select.js 中它将值初始化为 '' 并且不保存选择但我不知道如何保存选择。
我有这样的阵列......
Array
(
[options] => Array
(
[0] => Array
(
[0] => abc
[1] => xyz
)
[1] => Array
(
[0] => abc
[1] => def
[2] => ghi
)
[2] => Array
(
[0] => abc
[1] => def
)
)
)
Run Code Online (Sandbox Code Playgroud)
我希望像这样的结果作为逗号分隔符值
abc,xyz
abc,def,ghi
abc,def
Run Code Online (Sandbox Code Playgroud)
请建议我的解决方案..
谢谢
php ×4
reactjs ×2
arrays ×1
cakephp-2.0 ×1
fpdf ×1
javascript ×1
jwt ×1
typo3 ×1
typo3-8.x ×1
wordpress ×1