PHP安全开发库推荐:保障您的应用程序安全

php 专栏收录该内容
¥59.90 ¥99.00
149篇文章

PHP是一种广泛使用的服务器端编程语言,在构建Web应用程序时非常受欢迎。然而,由于PHP的灵活性和易用性,开发人员常常面临安全风险。为了帮助开发人员有效地保护他们的应用程序免受常见的安全威胁,我将为您介绍几个优秀的PHP安全开发库。

  1. OWASP PHP安全项目(https://www.owasp.org/index.php/PHP_Security_Project)
    OWASP(开放式Web应用安全项目)是一个知名的非营利组织,致力于提供开发Web应用程序的安全性指南和工具。他们的PHP安全项目提供了一系列的PHP安全性工具和库,帮助开发人员识别和修复常见的安全漏洞。

示例代码:

<?php
require_once 'path/to/owasp-php-security.php';

// 初始化安全配置
$config = new 
PHP语言的系统运维 在现代软件开发中,PHP作为一种流行的服务器端编程语言,广泛应用于web开发中。然而,单纯的PHP开发并不足以构建一个高效、稳定的应用系统,系统运维(Operations)也显得至关重要。系统运维不仅包括部署、监控和维护,还涉及到安全性、性能优化和故障排除等多个方面。本文将深入探讨如何通过PHP语言进行系统运维,包括环境搭建、配置管理、监控和日志处理等多个方面。 阅读详情

相关推荐

php多用户商城系统推荐

php多用户商城系统有什么特点? 1、成本更加低廉 相对于使用Java语言开发的商城系统,使用php开发的价格要低一些。 2、快捷性 php语言由于其关注应用层面,开发基本不需要考虑底层的东西,开发相对于java语言来说要更加快速。 3、易上手 php是一种非常容易上手的语言,它的语法更加简洁,且操作编辑也更加简单,实用性强、推荐小白入门。 php多用户商城系统有哪些运营模式? 1.自营模式 多用户商城平台企业通过建立自营网上商城,整合多渠道业务。 多用户商场管理系统,如会员、商品、订单、财务、仓储等,用于

icomk的博客 2031

PHP JWT认证实战:从原理到安全实现,基于firebase/php-jwt

在分布式系统和API开发中,身份认证是保障数据安全的核心环节。JWT(JSON Web Token)作为一种开放标准,通过紧凑的自包含结构,实现了跨域、无状态的用户身份传递。其原理基于三段式编码:头部声明算法、负载携带声明信息、签名确保防篡改。这种设计使得JWT在微服务架构和单点登录场景中具有显著优势,既能减轻服务器存储压力,又能方便地进行跨域认证。在PHP生态中,firebase/php-jwt库以其简洁的API和强大的功能,成为实现JWT认证的热门选择。本文将以该库为核心,深入讲解如何在PHP项目中安全

weixin_33690963的博客 396

PHP安全实战:如何正确使用escapeshellarg和escapeshellcmd防止命令注入(附常见错误示例)

本文深入解析PHP中escapeshellarg和escapeshellcmd函数的工作原理与差异,揭示错误组合使用可能导致的参数注入与RCE风险。通过GitList等真实漏洞案例分析,提供构建安全命令执行体系的实战指南,帮助开发者有效防御命令注入攻击。

weixin_29324877的博客 431

PHP对称加密实战:从AES算法原理到安全封装实现

对称加密是保障数据机密性的核心技术,其原理是使用相同的密钥进行加密和解密。在Web开发中,AES算法因其高安全性成为行业标准,而加密模式的选择(如CBC或GCM)则决定了其是否同时具备完整性和真实性验证能力。正确的密钥管理与初始化向量(IV)使用是工程实践中的关键,能有效抵御暴力破解和重放攻击。本文通过封装一个可复用的PHP加密类,详细解析了AES-256-CBC(结合HMAC)与AES-256-GCM两种模式的安全实现,涵盖了密钥派生、数据填充、完整性校验等核心环节,为保护用户密码、API密钥等敏感数据提

weixin_34254464的博客 272

PHP异或加密实现:原理、代码与安全边界详解

数据加密是保障信息安全的基石,其核心原理在于通过特定算法将明文转换为不可读的密文。异或(XOR)运算作为一种基础的逻辑操作,凭借其自反性——即 (数据 XOR 密钥) XOR 密钥 = 数据,成为理解加密原理的经典入门。在工程实践中,这种轻量级算法因其实现简单、运算速度快,常被用于数据混淆等对安全性要求不高的场景,例如临时令牌生成或配置文件内容的简单伪装。针对PHP开发,实现一个健壮的异或加密工具需妥善处理密钥循环与多字节字符串等挑战。本文聚焦于异或加密在PHP中的具体实现,通过完整的 `XorCipher

weixin_30236595的博客 320

PHP集成Google Pay支付全流程安全实践与避坑指南

在线支付集成是现代Web开发的核心环节,其安全模型基于令牌化(Tokenization)技术原理,将用户的敏感支付信息替换为一次性令牌,确保数据不经过商户服务器,从而大幅降低数据泄露风险。这一技术为开发者提供了便捷的支付接口调用方式,其核心价值在于平衡了用户体验与交易安全。在电商、SaaS订阅等国际收款场景中,集成如Google Pay这类数字钱包能显著提升支付成功率。本文聚焦于使用PHP进行Google Pay集成的安全闭环实践,详细解析了从环境配置、前端按钮集成到服务器端令牌验证与支付捕获的完整流程,并

weixin_34216107的博客 345

基于PHP的担保交易平台

基于PHP的担保交易平台项目是一个复杂的系统项目,需要综合运用多种技术和方法来实现。在开发过程中,需要关注用户需求、系统安全性、数据库设计等方面的问题。通过本项目的实施,可以积累丰富的实践经验和技术能力,为未来的开发工作打下坚实的基础。同时,通过本平台的建设,还可以促进电子商务领域的发展,提高交易的安全性和公正性。

毕业设计大牛哥 1161

SeayDzend解密工具实战:PHP源码还原与安全审计指南

PHP代码加密与混淆是常见的代码保护技术,通过Zend Guard等工具对源代码进行编码转换,使其难以直接阅读和分析。其原理主要基于字节码加密、字符串混淆和动态执行等技术,旨在保护知识产权和防止逆向工程。这项技术的核心价值在于平衡代码保护与运行效率,广泛应用于商业软件分发和敏感业务逻辑保护。在实际工程中,开发者和安全研究人员常面临维护遗留系统、进行安全审计等场景,需要将加密代码还原为可读形式。本文聚焦于使用SeayDzend工具进行PHP源码还原,详细解析其处理Zend Guard加密和Base64混淆的实

weixin_33798152的博客 408

Ubuntu源码编译安装PHP 8.1详细教程:安全、可控、可复现

PHP是一种广泛使用的开源服务器端脚本语言,其运行环境配置直接影响开发效率与生产稳定性。理解PHP的编译原理、模块加载机制及与Web服务器(如Apache/Nginx)的集成方式,是构建可靠本地开发环境的技术基础。在Ubuntu等Linux发行版中,系统包管理器提供的PHP版本常滞后于安全更新,而Docker或PPA方案又牺牲了可审计性与细粒度控制能力。源码编译PHP 8.1不仅支持启用OPcache、Xdebug 3.2+、mysqlnd等关键扩展,还能精准匹配CVE修复版本(如8.1.27+),保障开发

weixin_30889885的博客 405

PHP接单涨薪系列(130):量子安全同态加密在模型保护中的应用,从理论到商业落地

本文深入探讨量子安全同态加密(PQC-FHE)在AI模型保护中的前沿应用。针对量子计算威胁,分析抗量子FHE方案(如NTRU、CKKS)的选型策略,提出后量子签名(如Dilithium)与数字水印的创新融合方案。结合NIST PQC标准化进程,详解系统迁移路径。通过Python/PHP/Web端全栈代码示例,演示如何在现有系统中实现模型权重加密、安全推理与版权追溯。文章涵盖技术架构、商业报价、企业级部署及常见问题解决方案,为开发者提供量子安全升级的实践指南。

专注分享PHP、python、AI、web前端等知识 1275

PHP中的Cookie和Session的区别和用法

当用户访问网站时,服务器会为其分配一个唯一的会话标识符(Session ID),并将该标识符存储在客户端的Cookie中(或通过URL重写等方式传递)。总结来说,Cookie和Session在PHP中都是用于保存用户状态信息的重要技术,它们各有优缺点,适用于不同的场景。同时,为了保障用户数据的安全性和隐私性,应加强对Cookie和Session的管理和保护措施,防止恶意攻击和数据泄露。在PHP中,Cookie和Session都是用于保存用户状态信息的重要技术,它们在Web开发中扮演着不可或缺的角色。

Xs_layla的博客 1130

PHP Session安全漏洞深度解析:从CTF题看会话固定攻击与防御

Session机制是Web应用实现用户状态管理的核心技术,通过在服务器端存储用户数据、客户端保存Session ID来实现身份验证。其安全原理依赖于Session ID的不可预测性和传输安全性,一旦ID泄露或被预测,攻击者就能劫持用户会话。这一机制的技术价值在于为无状态的HTTP协议提供了状态保持能力,广泛应用于用户登录、购物车、权限控制等场景。然而,PHP的Session实现中存在诸多安全陷阱,特别是会话固定攻击,攻击者可通过预置Session ID绕过认证。本文结合CTFshow WEB11实战案例,深

anqiu4023的博客 357

IIS应用程序池配置与管理:从基础概念到高级优化实战

在Web服务器架构中,进程隔离与资源配置是保障应用稳定性的核心机制。IIS应用程序池作为Windows服务器上托管ASP.NET、PHP等Web应用的工作进程容器,通过为每个应用创建独立的运行环境,实现了故障隔离与资源控制。其技术价值在于防止单个应用的内存泄漏或崩溃影响其他服务,同时支持对CPU、内存、回收策略进行精细化管理。在应用场景上,无论是部署Unity WebGL的Brotli压缩包,还是解决文件锁定、权限配置等常见问题,都离不开对应用程序池标识、回收机制和运行状况的深入理解。本文聚焦于应用程序池的

weixin_33391446的博客 307

PHP实践:用Yconf配置扩展为项目插上性能的翅膀

Yconf是一个非常实用的高性能的配置管理工具,可以帮助PHP项目实现配置的灵活管理。通过上述步骤,我们可以轻松地在项目中引入Yconf,并对配置进行管理和使用。如果你的项目中还没有使用Yconf进行配置管理,不妨尝试使用它,相信会给你带来更好的开发体验。推荐您阅读本专栏其他内容,PHP进阶实战教程,相信不会让您失望。如果你对上面的功能有疑问,随时欢迎与我交流。

黑夜开发者的博客 3199

19、应用程序监控与安全保障全解析

本文全面解析了应用程序的监控与安全保障策略,涵盖监控告警设置、日志管理、HTTPS部署、SSL证书生成与上传、安全登录实现及密码加密存储等内容。详细介绍了通过AWS服务如CloudFront、ELB和IAM实现安全通信的方法,并提供了安全最佳实践与常见风险应对策略,帮助开发者构建高安全性的云上应用。

yyy34的博客 49

Windows下配置PHP开发环境及开发扩展

在Windows操作系统上配置PHP开发环境并安装相应的扩展是进行PHP开发的第一步。本文将详细介绍如何在Windows上配置PHP开发环境,并演示如何安装一些常用的PHP扩展。通过以上步骤,你已经成功配置了Windows下的PHP开发环境,并安装了一些常用的PHP扩展。首先,你需要从PHP官方网站(https://www.php.net/downloads.php)下载适用于Windows的PHP安装包。在PHP安装目录下复制并重命名"php.ini-development"文件为"php.ini"。

DsJustintime的博客 314

高效开发利器:用宝塔面板快速搭建 PHP 开发环境教程

本文详解用宝塔面板搭建 PHP 开发环境的全过程。先讲准备工作,包括服务器选择与面板下载;再分 Windows 和 Linux 系统介绍安装步骤;接着阐述搭建环境时 Web Server 选择、PHP 及 MySQL 安装流程;还提及环境变量配置、PHP 扩展缺失等常见问题的解决办法。通过清晰指引,助读者快速掌握用宝塔面板搭建 PHP 开发环境的方法,提升开发效率,适合各阶段开发者参考。

邓邓子的博客 2322

【无机纳米材料科研制图——OriginLab 0205】Origin对BET吸附/脱附曲线及孔径分布制图...

此篇,我们来分享如何对BET数据进行处理和制图。 一、等温吸脱附曲线绘制 1)找到等温吸脱附文件。 一半来说,对一个样品测一次BET,会产生很多数据,具体因仪器而异。我这里的数据主要有两个文件夹,一个脱附,一个吸附,吸附文件夹中多了一个等温吸脱附的文件夹。而这...

XD_Yangf的博客 803

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1967

展会客流统计的客流统计系统,WiFi客流每时每客

一般展会的举行时间都在3-7天之间,展会作为市场部门一项重要工作,一直以来没有一项有效的工具能够提供数据支持。 展会最重要的是通过活动和产品来吸引参展者的参观,如何统计展会期间的客流量呢?如何通过将数据转化成为活动数据的支撑呢? 目前成熟的解决方案有,视频客流统计、WiFi客流统计、红外线客流统计等方式。由于展会通常的时间都比较短,视频、红外线客流统计采购及安装价格都比较高,需

isentech的博客 3994

AES攻击方法 :差分密码分析 boomerang attack飞去来器攻击

AES具有123比特的分组长度,三种可选的密钥长度(128,192,256) AES是一个迭代型密码,轮数依赖于密钥长度。如果密钥长度为128比特,则轮数为10;如果密钥长度为192比特,则轮数为12;如果密钥长度为256比特,则轮数为14; 混淆(Confusion) 混淆是为了让密钥与密文的统计信息之间的关系变得复杂,从而增加通过统计方法进行攻击的难度。混淆可以通过各种代换算法实现,如S盒、乘法(加)与异或等运算组合,为非线性部件。 扩散(Diffusion) 扩散是为了让明文的单个比特影像到

m0_67105022的博客 3492

Openclaw第5章 知识库管理

💡:学会使用 OpenClaw构建个人知识库系统,实现网页文章存档、GitHub项目管理、论文笔记整理和跨设备同步。

Maynor的博客 776

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2685

【23】OpenCV C++实战篇——张正友相机标定【相机标定原理、相机标定流程、标定结果评价、图像畸变矫正】

R是3×3的正交单位矩阵(即旋转矩阵),t为平移向量,R、t与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsicparameter),可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。R是3×3的正交单位矩阵(即旋转矩阵),t为平移向量,R、t与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsicparameter),可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 4479

【OpenClaw从入门到精通】第15篇:国产芯片适配实战——昇腾/龙芯/天数智芯全流程跑通(2026实测版)

2026年国产芯片AI适配迎来爆发期,OpenClaw作为轻量化本地AI智能体,已实现华为昇腾、龙芯、天数智芯等主流国产平台的全流程适配。本文基于实测数据,从背景解析、核心原理、算法优化、实操部署四个维度,详细讲解OpenClaw在香橙派昇腾开发板、龙芯3B6000M、天数彤央TY1200及联想开天X7h的部署流程,同时提供统一工具玄武CLI的使用指南。文中包含完整代码、执行结果、避坑技巧及虚拟实战案例,兼顾新手入门与进阶提升,帮助读者快速掌握国产芯片上的本地AI部署能力,实现数据隐私保护与低成本AI落地。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1008

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 使用NGINX和PHP构建高性能Web应用
下一篇: 使用Akismet保护PHP网站免受垃圾评论的详细代码和解释
普通网友
博客等级 码龄3年 32粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值